0Q:шКџw1ЅЙ|џџЬзџН‡$Pх-@я`JџиwЬ‹Zuџџџ­ФџcoВ!+^ jџџџџџџџџ2Tv˜КмўяЭЋ‰gE#2Tv˜Кмў2Tv˜Кмўf``РˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆРЬЬ ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬннџанн§нннннннанннанн анаанн ќџџЯџџџџџџџџџџџџџџџџџџџџџџџџќџџЯџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџРЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬРЬЬЬ РЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬРЬЬ ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬРЬЬ РРЬЬ ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬРЬЬќ РРЬЬ ЬЯЬЯќџџџџЯЬЬќЬЬ ќЬЬРџЬЬќЬЬ ќЬЬЬќЬќЬџџџЯЬЬќџЬЬЯРЬЬЯЬЬџ ЬЬЯЬЬЬЯЬЯќЬџџџЯЬЬќџЬЬЬЯЬЬЬЯЬЬЬЯЬЬџ РРЯЬЯќЬџџџЯџџџџџџџЯџџџЯџџџЯџџџџџџџЯЬЬЬ ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ РЬЬЬќЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬРЬЬЬ ЯЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬќРЬЬЬќЬЯЬЯќџџџџџџџќџџџќџџџџџџџќџџџќџџџќЬќЬџџџЯџџџџџџџЯџџџЯџџџџџџџЯџџџЯЬРЯ РРџЬЬЬЯЬЬЬЯЬЬЬЯЬЬќџџџџЯЬЯќЬџџџЯџџџџџџџЯџџџЯџџџЯџџџџџџџЯЬЯќЬVeffѕUfeUUVeVeffffUfUV_eeVUeffUfќЯќЬќЬќЬќЬџЯџџџџЬЯЬЯЬЯЬЯЯЯќЯџџџџёџџёёёџџџџџёёџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЯќЬќџџЯџЬЬџќЬЬЯќЬЬЯџЬРџќЬЬЯќЬЬЯџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќЯЬџџџ ЬќЬЬќќЯЬџЬџџЯќџЬџќЯџќџЬЬџЯќ Р Р РР Р Р Р РЯЬЬќџЬЬџЯќ Р Р РРР Р Р РРР Р РЯЬЬќџџџџџџџџџЯЯџџџќџЬЬЬЬџЬЬќџЯќџџџџџџџџџџЬџџЯЬќџ ќџЬРќџџЬџџџџќќџЯЬџџџџџџЯЯџџЬЬџџЬРќџЯЬќџџџџџЬЬџЬЯЯџЬќџџ Рџџ Рџџ РџџЬќџќ РЯќ РџќЬќЯЬЬќџџ Рџџ Рџџ РџџЬќЯЬ РџЯ РЯџЬќЯЬЬ Р Р РЬ РЬ РЬ РРЬ РЬРРРРРЬРРЬРРРЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџїїџџџџџџџџџїџџџїџџџџџџџџџџџџџџџїџџџџџїїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ?ѓџџ#2џџ#2џџ?ѓџџџџџџџџџџџџџ/џџџђџџ/џџџџџџђџџ/ џџџђџџџџџннџпнн§нннннннанннанн анапнн§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџќЬЬЯЬЬЬЬРР РЬЬ РР РЬЯќЯ РЬЬ ЬЬЬЬЬЬЬЬЬЬЬРЬЬ ЬЬР ЬШЬќЬќЯќЬџџЬЬЯџЬџРЬЬќРЬЬР ЬЬЬЬЬќЬЬЬќџџџџЯЬЬџЯЬЬџЯЬЬќџЯЬЬЯќЬЬџЯџџџЬЬџЯРќЯРЬЬ ќЯ ќџЬЬџџџќџџџџЬџџЯРџџ ќЯЯРџџ ќџЯРџџЬќќџЬџџџџџЬЬџќЯЬџџЬЬџџЬЯџЯџџџџџќЯџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ РЬ Ь ЬЬ РЬЬ " Ь РЬЬР Р Р РР Р Р," ТРЬЬЬЬџРќ Р Р РРР Р Р Р " Р ТРЬЬђџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЯџџџЬЬџЯРќЯРЬЬ ќЯ ќџЬЬџџџќџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџРР ЬЬЬЬЬ,"Р ЬРЬ ЬР Ь " РЬРРЬЬЬР РЬ "ЬЬЬРРˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ ЬЬРЬЬЬЬРР РЬЬ Р "Р РЬˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШŒЬˆŒˆШˆШŒШˆˆŒШˆЬˆШˆˆˆˆˆˆˆˆˆˆˆˆŒШˆЬˆŒŒŒˆЬŒЬˆŒŒŒˆŒŒŒˆˆˆˆˆˆˆˆˆˆˆˆˆˆЬШŒШˆШˆˆЬШŒˆШШŒШŒШˆˆˆˆˆˆˆˆˆˆˆˆŒˆŒШШШШШŒШЬШˆШШШˆШШˆˆˆˆˆˆˆˆˆˆˆˆˆˆШШŒˆШШŒˆШШШШШШШŒŒШˆˆˆˆˆˆˆˆˆˆˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆџџˆˆїˆˆˆˆјˆˆˆˆˆˆˆˆˆˆˆˆˆˆџџџˆwwwџwwwwwwwwwwwwЇwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆїˆˆˆwˆˆzˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆјџˆˆјfˆˆјfˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆјџџџofwfџwwіwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆџˆˆwїˆwwїwwwїˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆјˆˆˆјˆˆˆˆˆˆˆˆˆˆјџˆјwїџџїwїџwїџwЇЊwЇЇЊЊЊЇЊЊЊwЊЊЊwЇЊЊwwwїwwwїџџzˆˆzˆˆzˆјzџwџwvwwvї№wgwˆˆˆˆˆјџˆџwgwЬїgwЧїwvwwїџˆіˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆoˆˆˆџˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwwїwwwwwwџїїwwwwwЛ{wwЋњwwЋњwwwwwwwwwwwwwwwwwwwwwwwЗ{wЗЋКЛЋЊˆˆˆїˆˆˆїˆˆˆwˆˆwˆˆwˆˆuˆˆuˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆјˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwџwџїoˆџџˆјˆјˆџјwwџјwwџfwwwvїџwїџ№№џˆ№ˆˆј№џџџˆˆˆˆˆˆˆˆˆˆˆˆˆˆ№ˆˆˆˆˆwїˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆјˆˆˆˆwwЋџwwћЊwwЋњїwЋЊwЇЊїџwЊїwЇџwwЊЊЊЊЏЊЊZњЊЊZЊЊЊZЊЊЊZЊЊЊZЊЊЊuЊЊZwuˆˆwˆˆїˆˆˆїˆˆˆїˆˆˆїˆˆˆїˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwˆјwwˆˆwˆˆјˆˆˆјˆˆˆˆˆˆˆˆˆˆˆˆˆˆїˆˆјїˆˆˆїˆˆˆџˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwїˆˆwwˆwїˆјwїˆˆїˆˆјџˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆџwwwјwwwˆџwwˆˆџџˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆUUuwwwwwwwwїџџџˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШˆˆˆŒˆˆˆШˆˆˆˆˆˆˆЬˆˆˆˆˆˆˆˆˆˆˆˆŒŒШШˆŒШШŒŒШШŒŒШШˆШŒШˆˆˆˆˆˆˆˆˆˆˆˆŒШШШШШШШŒШШШШШШШШˆŒШˆˆˆˆˆˆˆˆˆˆˆˆШШˆŒШШШШШШШЬШШШШˆŒШШˆˆˆˆˆˆˆˆˆˆˆˆШˆˆˆШˆˆˆШˆˆˆШˆˆˆШŒˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ@ˆˆˆˆxwwˆˆЇЊˆˆwЊˆxww‡ˆpwˆx‡ˆ‡xˆxwwˆˆЇЊˆˆwЊˆxww‡ˆwˆˆpˆˆˆˆx‡ˆˆˆˆˆxwwˆˆЇЊˆˆwЊˆxww‡wpˆˆxˆˆ‡ˆˆˆˆˆˆˆˆˆˆˆˆhˆfˆˆf†ˆfєdhhOџ†foffˆhˆˆhh††ˆFf†fіdh†іo†hFO†hfџˆhff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ""ˆ("Тˆ(""ˆˆ(ђˆˆˆ"ˆ("џˆˆˆˆˆˆˆˆŒˆˆˆТˆˆˆ"ˆшˆџˆюˆ"ˆюˆџˆюŽˆˆˆˆˆˆ""ˆ("Bˆ(""ˆˆ(ђˆˆˆ"ˆˆ"џˆ"""ˆˆˆˆ„ˆшˆBˆюˆ"ˆюˆџˆюŽ"ˆшŽџˆшŽ"ˆшŽˆˆ""ˆ("Bˆ(""ˆˆ(ђˆˆˆ"ˆ("џ(ђ""""ˆ"„ˆˆˆBˆшˆ"ˆюˆџˆюˆ"ˆюŽџˆшŽ"шŽ"/"‚ˆˆˆˆˆˆяюˆ(ђюˆ("џˆˆ(ђˆˆˆ"ˆ("џ("""юŽˆˆююˆˆў/тˆ/(‚ˆџ(‚ˆ"(‚ˆџ"ˆˆ"‚ˆˆˆˆˆˆˆˆˆˆˆˆ""ˆ("Bˆ(""ˆˆ(ђˆˆˆђˆ("џˆˆˆˆˆˆˆˆ„ˆˆˆBˆˆˆ"ˆˆˆџˆˆˆџˆˆˆџ‚ˆˆˆˆˆˆˆwwˆˆЊЊˆˆЇzˆxww‡ˆpˆx‡ˆ‡xˆˆwwˆˆЊЊˆˆЇzˆxww‡ˆppxˆˆˆˆˆ‡ˆˆˆˆˆˆwwˆˆЊЊˆˆЇzˆxww‡pˆˆp‡ˆxˆˆˆˆˆˆˆиˆˆиииˆђ/н-/-‚(!"вв‚ffffˆˆˆˆˆˆиˆˆнˆ-/ˆ("ђн(в"н"‰ffffˆˆˆˆˆˆˆиииˆ"/н-ђ"‚(ђ"в(§в‚ffff("""""(""ˆ(""ˆ("ˆˆhfˆ("b(""h(ˆˆˆ"ˆшŽ"‚шŽ""шŽ"/"‚fђ"‚&"шˆ†"ˆˆˆ"‚ˆˆ"ˆ"("("(‚("(‚hf(‚"bˆˆ"hˆˆ‚ˆˆˆ"ˆ"/"‚"/"‚"ˆшˆfˆˆˆ&‚ˆˆ&‚ˆˆ(ˆˆˆ(‚ˆˆ"ˆ(""ˆ("ˆˆhfˆˆ"bˆˆ"hˆˆ‚ˆˆ(ˆˆˆ(ˆˆ"/"‚"ˆшˆf‚ˆˆ&"ˆˆ†"ˆˆˆ(‚ˆˆˆˆˆˆˆˆˆ""ˆ""ˆ(""ˆ(""ˆhfˆˆ"bˆˆ"hˆ("ˆˆ(ˆˆ‚ˆˆˆ"ˆˆˆ"ˆˆˆf‚ˆˆ&"ˆˆ&"ˆˆˆ‚ˆˆˆ"ˆˆ("""""(""ˆ(""ˆ("ˆˆhfˆ("b(""h(ˆˆˆ"ˆˆђ‚ˆˆђ"ˆш"/тюfђюŽ&"ˆˆ†"ˆˆˆ"‚ˆˆˆˆˆˆwwˆˆwwˆˆwwˆxww‡ˆˆx‡ˆ‡xˆˆwwˆˆwwˆˆwwˆxww‡€ˆˆˆˆˆxˆˆˆˆˆˆˆwwˆˆwwˆˆwwˆxww‡ˆpˆˆˆˆxˆˆˆˆˆˆˆˆˆˆˆˆˆˆhˆhˆhˆfˆˆffˆhffˆfffˆˆˆˆˆˆˆˆˆˆˆˆ†ˆ†ˆfhhˆєє†ˆOOfˆfff†ˆˆˆˆˆhˆfˆ†ffˆ†ffˆhffˆhffˆˆffˆˆFOh†ˆˆfhˆˆє†ˆˆџdhˆџo††єd††fffˆfffˆˆˆˆˆˆˆˆˆˆˆˆhˆˆˆˆˆˆˆfˆˆhˆˆˆfіˆhfџˆ†ˆˆhhˆˆˆh†ˆ†ffhffffffџddfєџoffџˆˆˆˆˆˆˆˆˆˆˆˆ†ˆˆˆhˆˆˆhˆfˆfhˆ†dfˆ†ˆˆˆˆˆˆ††ˆ††fhhhfˆhfFˆhfіˆffџhffdˆhfhf†ˆfffffOffOџfFџџfіџdfєOffіє†ˆˆˆfˆˆˆf†ˆˆ††ˆˆ††ˆˆf†ˆˆfhˆˆfhˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆи"Bˆт"$„т""‚ш(џџш""џ8""ˆш‚(ˆ(-Bˆ".$„"."‚ˆ.џˆ."ˆˆ#"ˆˆ."ˆˆˆ‚ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhfOfˆFџohfієffffˆfffˆˆf†ˆˆˆˆˆˆˆˆfff†fFOˆfєd†fff†fhfˆˆˆˆˆˆˆˆˆˆˆˆˆˆhіџˆhєџˆhFOˆfffˆˆffˆˆˆ†ˆˆˆˆˆˆˆˆfєdˆfџoˆfџ„ˆfd†ˆh†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ†іdˆ†ffˆhffhffOˆfіdhfєf†hffˆfffєofєffffffffffєffіџdfFffffffhffˆff††fffˆfffˆffo†fєoffџdfFof†ffff†fffhfffˆhffˆffєˆffџhffџ†hFohhfffffffFoffіџdoџџoddєoofііdffіfffFffˆˆf††ˆfˆˆˆfˆhˆfh†ˆd†ˆˆџ†ˆˆOf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ("ˆˆ""ˆˆ""ˆˆˆ(ˆˆhіˆˆffˆˆffˆhff"„ШŒBBШЬ""шь"џˆŽџџˆŽffшˆffяˆf†шˆˆˆ("ˆˆ""ˆˆ""ˆˆˆ(ˆˆhіˆˆffˆˆffˆhff"„ˆˆBBˆˆ""HŠђџЈЊ""шъ/‚ˆŽ†ˆˆŽfˆшˆˆˆ("ˆˆ""ˆˆ""ˆˆˆ(ˆˆˆіˆˆhfˆˆffˆˆff"„ˆˆBBˆˆ""HŠђџЈЊ""шъ/‚ˆŽ†ˆˆŽfˆшˆˆ("Bˆ""$ˆ"""ˆˆ(ђˆˆј"ˆˆfџˆhffˆhіfˆˆˆˆ„Єˆˆ‚ЊŠˆЎŽˆ‚шˆˆˆŽˆˆ/ŽˆˆˆŽˆˆˆ("Bˆ""$ˆ"""ˆˆ(ђˆˆј"ˆˆfџˆhffˆhіfˆˆˆˆ„ˆˆˆ‚ˆˆˆЄˆˆ‚ЊŠˆˆЎŽˆˆшˆˆˆŽˆˆˆˆˆˆˆ("Bˆ""$ˆ"""ˆˆ(ђˆˆџ"ˆˆfˆhf†ˆˆˆˆˆˆˆˆ„ˆˆˆ‚ЄˆˆЊŠˆ‚ЎŽˆˆшˆˆˆŽˆˆ("Bˆ("$„ˆ("Ђh/џЊhііŽff†Žff†Žff†ˆ("Bˆ("$„ˆ("‚h/џЌhі†ЊffіŽff†Žff†Žˆˆˆˆ("Bˆ("$„ˆ("Ђh/џЊfііŽff†Žff†Žˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhіoˆhfіˆfffˆfffˆfffˆfffhffffffff†шˆf†шˆo†Žˆ†ˆŽˆ†ˆŽˆ†ˆŽˆ†ˆˆˆfˆˆˆˆhіfˆhfoˆffoˆffіˆfffˆfffhffffffff†шˆf†шˆfітˆf†шˆˆˆŽˆ†ˆŽˆ†ˆŽˆfˆŽˆˆhffˆhіfˆhfoˆffoˆffіˆfffhffffffffˆшˆf†шˆfітˆf†шˆf†ŽˆˆŽˆ†ˆŽˆfˆŽˆˆffџˆfffhffffff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆшˆˆˆшˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆfіfˆffџhffffff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ/ŽˆˆˆŽˆˆшˆˆˆшˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhffˆfіfhffofff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ/ŽˆˆˆŽˆˆшˆˆˆшˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆЈŠˆˆЊЋˆˆЊЋˆˆЈЋˆˆИЊˆˆЈЊˆˆˆŠˆˆˆˆˆˆˆˆˆЈˆˆŠЊЈŠЊЊЊЌЊЈЪЏŠˆњЌˆˆШŠˆˆŠЈˆˆˆˆˆˆЈŠˆˆЊЊˆЈќЯŠЊџџЊЊќЯЊЈŠЈŠˆˆˆˆˆˆD„ˆˆєєˆюD„ˆюЛKˆДюKˆKДDhЛЛˆˆˆ†ˆˆHDˆˆHOшNDˆшОЛˆHыОˆˆDы„ˆЛЛˆˆh†ˆˆˆˆˆˆHDˆˆHOOшNDHфОЛ„„ыОˆ„Оыˆhˆˆ†ˆD„ˆˆOˆшN„ˆшОЛ„HыО„HDыDˆЛЛˆˆ†ˆ†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ˜˜™ˆ–Щœiіˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ™‰ˆˆœ™ˆˆ™™ˆˆŸ‰ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ˜ˆ™‰˜˜Ь™і˜œ™i˜™™iˆˆˆˆˆˆˆˆ™‰ˆˆœ™ˆˆ™™ˆˆŸ‰ˆˆіˆˆf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffˆˆˆˆ ъŽŒюнЭЬdО†ŒЛЛˆˆЛЛˆˆ†hˆˆffˆˆˆˆ ЊˆˆDфŽˆюннdО†ˆЛЛˆˆ†hˆˆˆˆˆˆffˆˆˆˆ ЊˆˆDфŽˆюннdО†ˆ†hˆˆffˆˆˆˆ ЊюˆъоннKцdˆЛЛˆˆЛЛˆˆ†hˆˆˆˆˆˆшшш-яўю.яџя.яяя#яюŽŽђюŽŽ(‚ˆишшшияўютяџятяяя8яюŽшђюŽш""ˆ(ˆˆ‚ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆЩ™™f™™™f™™љf˜™љfˆџoOhffєfffіhfffіˆˆf™‰ˆ–Ь™ˆ–œ™ˆі™™†OŸљ†єіofіfff˜™™oˆ™™oˆјџfˆffєˆfіџˆfFџhffOhfhf–™†ˆЩœ‰ˆЩ™iˆŸ™iˆє™oˆoџfˆџff†f†f†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆЛˆˆHD„ˆHOŒИюЮЬHЖkŒИЛ‹ˆhf†ˆhˆ†ˆˆˆˆˆˆИ‹ˆˆDDˆˆєєˆˆDDˆˆыююˆdЛ†ˆ†hˆˆИ‹ˆˆDDˆˆєєˆˆDDˆˆыююˆdЛ†ˆЛЛˆˆˆ†ˆˆИ‹ˆˆDDˆˆєєˆˆыююˆdЛ†ˆЛЛˆˆffˆˆ†hˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ("Bˆ("$„ˆ(ТЬh/ЯЬhіЯЬff†Žff†Žff†ˆ("Bˆ("$„ˆ("‚h/џЌhі†ЊffіŽff†Žff†Žˆˆˆˆ("Bˆ("$„ˆ("Ђh/џЊfііŽff†Žff†Ž("Bˆ("$„ˆ("Ђh/џЊhііŽff†Žff†Žff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆиˆˆиииˆ"/ннђ"‚и§в(Ÿ/нffffˆиˆˆиииˆ"/ннђ"‚и§в(Ÿ/нˆffˆhff†ˆ""„("BB("""ˆˆђџˆ(ђџˆ"2‚ˆ""c(ˆhfˆˆˆˆ("Bˆ""$„"""‚ˆ(џџ(""џ‚""ˆˆ‚(ˆ("Bˆ""$„"""‚ˆ(џˆ"#ˆˆ2"ˆˆ""ˆˆˆ‚ˆ("Bˆ""$„"""‚f(џ6""џ†#"ˆˆ""ˆˆ‚(ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒн§нмнпџŒюн§ŒˆннЬЬЬЬˆˆˆШˆˆˆШˆˆˆШнпнШџ§нЭпнюШннˆШЬЬЬЬŒˆˆˆŒˆˆˆŒˆИОŒˆŽиŒˆынŒˆинŒˆинЬЬЬЬˆˆˆШˆˆˆШ§ŽˆШняоШнннШннШнˆШЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒˆшюŒˆ§џŒˆннŒˆннЬЬЬЬˆˆˆШиˆˆШоˆˆШпˆˆШнˆˆШнˆˆШнˆˆШЬЬЬЬŒˆˆШŒˆШЬŒˆŒШŒШˆШŒŒˆˆŒŒˆˆŒŒˆШЬЬЬЬˆˆˆШЬŒˆШˆШˆШˆˆŒШˆˆШШˆˆШШŒШЬЬЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆŒиноŒнэнŒнэнЬЬЬЬˆˆˆШˆˆˆШˆˆˆШˆˆˆШˆˆШноШэнпШЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆŒˆˆŒˆˆˆŒˆШЬЬЬЬˆˆˆШˆˆˆШˆШЬШШЬШСˆШˆШЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆŒиˆˆŒиюнŒнюЮЬЬЬЬˆˆˆШˆˆˆШˆˆˆШˆˆˆШˆˆШннШЬЬШЬЬЬЬŒˆяюŒˆяюŒˆяюŒˆяоŒˆяŒˆяŒˆяwЬЬЬЬюю§ШюэЮююШяю}ЧјюЭЬxяЭУЧяЭЬŒˆнэŒˆиоŒˆˆнŒˆˆиŒˆˆˆŒˆˆˆŒˆˆˆЬЬЬЬонˆШэˆШнˆˆШˆˆШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬŒˆўнܘщпŒШœŽŒЩœˆŒ™ˆˆœˆШˆŒˆˆˆЬЬЬЬ§ˆˆШпˆШнˆШˆˆˆШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬŒˆннŒˆннŒˆннŒˆннŒˆџпŒˆн§ŒˆˆˆЬЬЬЬнˆˆШнˆˆШнˆˆШ§ˆШпнШннШˆˆˆШЬЬЬЬЬЬŒШŒŒˆˆŒŒˆˆŒШˆˆŒˆŒˆŒˆШЬŒˆˆˆЬЬЬЬŒˆШШˆˆШШˆˆШШŒˆŒШŒШˆШЬŒˆШŒˆˆШЬЬЬЬŒнэнŒнноŒинэŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆЬЬЬЬэнпШноШˆˆШˆˆˆШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬŒˆˆŒˆˆŒˆˆˆŒŒШŒˆˆˆŒˆˆŒˆˆˆЬЬЬЬˆШˆˆˆШˆˆШˆˆˆШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬŒˆшоŒˆˆиŒˆˆюŒˆˆюŒˆшюŒˆшŽŒˆˆˆЬЬЬЬннˆШшŽШŽˆюШˆˆюШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬŒxwЬ|ЧЬЬЬЬ|w|wчоŒˆяюŒˆяюŒˆяюЬЬЬЬЬяЭЧЬя}ШwяЯˆяШ§юЮюўШююШЬЬЬЬЬЬЬЬŒˆˆˆŒˆˆŒŒˆŒˆŒˆˆˆŒˆˆˆŒШŒˆŒЬЬˆЬЬЬЬˆˆˆШШˆˆШˆˆˆШˆˆŒШˆˆˆШˆˆˆШˆˆШШЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆˆŒшюˆŒ‰юоŒ‡ˆŽЬЬЬЬˆˆˆШˆˆˆШˆˆˆШˆˆˆШˆшˆШннШюшŽШџџџџџџџџчўџўљюн§§пяюп§яџџїџџџџџџџџџџџџџпоэн§эно§энопоноџџэ§џџџџџџџџяџяџпнн§џЭЬ§џяўўџяўўџюџџџџџџЬЬЬЬŒˆˆˆŒˆˆˆŒˆˆџŒˆјюŒˆонŒˆннŒшўяЬЬЬЬˆˆˆШˆˆˆШџˆˆШюˆШнэˆШннˆШўяŽШŒЬЬˆŒШŒˆŒˆˆˆŒˆˆˆŒˆˆˆŒˆˆШŒˆˆˆЬЬЬЬŒˆˆШˆˆˆШˆˆШШˆˆˆШˆШˆШШˆˆШˆˆˆШЬЬЬЬŒŽшˆŒшŽ˜ŒˆˆxŒˆˆxŒˆˆˆŒˆˆˆŒˆˆˆЬЬЬЬwˆюШyˆюШ—ˆˆШ‡ˆˆШˆˆˆШˆˆˆШˆˆˆШЬЬЬЬџџџџџп§џџннџяяўўџннџџп§џџџџџџџџџŒшўяŒˆннŒˆонŒˆјюŒˆˆџŒˆˆˆŒˆˆˆЬЬЬЬўяŽШннˆШнэˆШюˆШџˆˆШˆˆˆШˆˆˆШЬЬЬЬЬЬŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆŒˆЬЬŒˆЬЬџџŒˆќџЯˆШџџŒˆќЯˆШџŒˆќџЬЬџџџџџџœ~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bU222222222200S0000000000S22222222<2<222200UU000000SR00222222222<<<<222S00USS000000QQQQ00SS222222????????????????????55 3 1 0011345 5 6 7 7 89:;;<<>>>>????9|8o7[6_6^6]6Y6V6T7S7S8D8I9596:7;(;)<<=>> >ќ>ќ>ќ>ь>ь>м>м       Р?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬЬЬџџЬџџЬЬџџџџЬЬџЬЬџџџЬџџЬџџџЬџЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬЬЬџџЬџџЬЬџџџџЬЬџЬЬџџџЬџџЬџџџЬџЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџџџЬџџЬџЬџЬџЬџџЬџџџЬџЬџЬџЬџЬџџџЬџЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџџџЬџџЬџЬџЬџЬџџЬџџџЬџЬџЬџЬџЬџџџЬџЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџЬџџЬЬЬџЬЬџџџџЬЬџЬЬџџЬЬЬџЬџџџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџЬџџЬЬЬџЬЬџџџџЬЬџЬЬџџЬЬЬџЬџџџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџЬџџЬџЬџЬџЬџџџџЬџЬџџџЬџЬџЬџЬџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџЬџџЬџЬџЬџЬџџџџЬџЬџџџЬџЬџЬџЬџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџџЬџџЬџЬџЬџЬџџЬЬџџЬџџџЬџЬџџЬџЬџџЬџџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџџЬџџЬџЬџЬџЬџџЬЬџџЬџџџЬџЬџџЬџЬџџЬџџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwwwwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊwwwwwwЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊwwwwwwЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊwwwЊЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊwwwЊЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊЊЊЊЊЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊЊЊЊЊЊwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊЊЊЊЊЊwџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwЊЊЊЊЊЊЊЊwџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwЊЊЊЊЊЊЊwџџџџџwwfwwЬЬwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwЊЊЊЊЊЊЊwџџџџџwwfwwЬЬwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџwwwЊЊЊЊЊwwџџwwfwwfwwwЬwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџwwwЊЊЊЊЊwwџџwwfwwfwwwЬwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџwwwwwwwwwџwwwfwwwfwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџwwwwwwwwwџwwwfwwwfwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџџwwџџwwwwwwџџwwwfwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџџwwџџwwwwwwџџwwwfwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџwwwwwџџџџџџџwwwfџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџwwwwwџџџџџџџwwwfџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџwwffwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџwwffwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџџfwwfwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџџfwwfwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџџwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџџwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwwџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwwwџџџџџџџџwwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџџџџџџџџwwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџwwџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬџџЬџЬЬџџЬџЬџЬџЬџЬџџЬџџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬџџЬџЬЬџџЬџЬџЬџЬџЬџџЬџџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџџЬџџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџџџЬџџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬџџЬџЬЬџџЬџЬџЬџЬџЬџЬЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџЬџџЬџЬЬџџЬџЬџЬџЬџЬџЬЬЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџЬџџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬџЬџџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџџЬЬџџЬџЬџџЬџџЬџџЬџџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬЬџџџЬЬџџЬџЬџџЬџџЬџџЬџџЬџЬџЬЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ""/"ђ/"џ""џ""џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/"џџ"џ"џђ"џђ/ђџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ"ђџ"џ"џђ"џђ/ђџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/"џ"џ""ђ""џ/ђџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/"ђџ"џ"џђ"џђ/ђџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ$‡-- title: Star Spawm Survival -- author: Edmaul -- desc: Survival -- site: website link -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua --joystick values are stored in x and y --from -1 to 1 math.randomseed(tstamp()) palette_map=0x3ff0 joysticks={ {pos={ x=3*8, y=12*8, r=10 }, x=0, y=0, use=false, color=5}, {pos={ x=3*8, y=12*8, r=20 }, x=0, y=0, use=false, color=12}, {pos={ x=180, y=68, r=30 }, x=0, y=0, use=false, color=11} } joystickinuse=false x=120 y=30 mx,my,mp=mouse() maux=false v=joysticks[2] function updatejoystick(j) xdif=mx-j.pos.x ydif=my-j.pos.y if mp == true and maux == false then maux=true j.pos.x=mx j.pos.y=my elseif mp == false and maux == true then maux=false end if mp==true then drawjoystick(j) end if not joystickinuse and mp and (xdif^2+ydif^2)1 then local angle=math.atan2(j.y,j.x) j.x=math.cos(angle) j.y=math.sin(angle) end end function drawjoystick(j) if maux then circb(j.pos.x,j.pos.y,j.pos.r,15) circ(j.pos.x,j.pos.y,j.pos.r/4,15) --for i=0,1,0.1 do -- circ(j.pos.x+j.x*j.pos.r*i,j.pos.y+j.y*j.pos.r*i,j.pos.r/(4-i),0) --end circ(j.pos.x+j.x*j.pos.r,j.pos.y+j.y*j.pos.r,j.pos.r/2,j.color) else return end end ---------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------- solidos={[1]=true,[2]=true,[3]=true,[4]=true ,[20]=true,[21]=true,[19]=true,[33]=true,[34]=true,[35]=true ,[49]=true,[48]=true,[16]=true,[17]=true,[18]=true ,[19]=true,[32]=true} telaAtual={x=0,y=0} cam={x=120,y=68} iniNaTela = 0 gamestate='m' t=0 function init() sync(0,0,false) plr=p plr.xx=0 plr.yy=0 telaAtual={x=0,y=0} arm={a5} e={} inimigos={} bs={} itens={} inicio = true up=false cam={x=120,y=68} iniNaTela = 0 --t=0 numIni=1 onda=0 --spwEnts() --spwPorta() chaves=0 end --t=0 cos=math.cos sin=math.sin pi=math.pi tau=2*pi atan2=math.atan2 sqrt=math.sqrt flr=math.floor ceil=math.ceil rnd=math.random e={} function e:new(o) o=o or {} setmetatable(o,self) self.__index=self return o end function e:draw() if self.xx and self.yy and self.xx==telaAtual.x and self.yy==telaAtual.y then sprol(self.img+t%30//15*ceil(self.w/8),self.x,self.y,8,1,self.f,0,ceil(self.w/8),ceil(self.h/8),4) end end p=e:new{ x=120, y=64, hbox={x=0,y=0,w=4,h=6}, xx=0, yy=0, w=8, h=8, vx=0, vy=0, vec={x=1,y=0}, img=256, f=0, v=0.5, state='i', animaux=1, vidaMax=5, vida=5, htmr=0, htmp=30, msg='', msgTmr=0, isdash=true, dv=2.5, dTmr=0, dTmp=10, dCd=60*5, dCdT=0, dano=1, range=50, dir='b', perfura=0, orb=0, bc=12 } function p:update() self:takehit() self.hbox.x=self.x+4 self.hbox.y=self.y+1 local x,y=self.x,self.y if self.state~='d' then if self.isdash then self:dash() end if v.y < 0 or btn(0) and not solido(x+1,y-self.v+1) and not solido(x+self.w-1,y-self.v+1) then self.vy=-1 self.dir='c' elseif v.y > 0 or btn(1) and not solido(x+1,y+self.v+self.h) and not solido(x+self.w-4,y+self.v+self.h) then self.vy=1 self.dir='b' else self.vy=0 end if v.x < 0 or btn(2) and not solido(x+1-self.v,y+1) and not solido(x+1-self.v,y+self.h) then self.vx=-1 self.dir='e' elseif v.x > 0 or btn(3) and not solido(x+self.v+self.w-1,y+1) and not solido(x+self.v+self.w-1,y+self.h) then self.vx=1 self.dir='d' else self.vx=0 end if self.vx==0 and self.vy==0 then self.state='i' else self.state='m' end if self.vx==0 and self.vy==0 then self.animaux=0 else self.animaux=1 end self.x=self.x+self.vx*self.v self.y=self.y+self.vy*self.v end if self.x > 240 then self.x = self.w+1 self.xx= self.xx+1 end if self.x < 0 then self.x = 240-self.w-1 self.xx=self.xx-1 end if self.y > 136 then self.y = self.h+1 self.yy=self.yy+1 end if self.y < 0 then self.y = 136-self.h-1 self.yy=self.yy-1 end if (self.vx~=0 and self.vy~=0) then if self.vx > 0 then self.vec.x = 1/sqrt(2) else self.vec.x = -1/sqrt(2) end if self.vy > 0 then self.vec.y = 1/sqrt(2) else self.vec.y = -1/sqrt(2) end --self.anim =self.animacoes.move elseif(self.vx==0 and self.vy~=0) or (self.vx~=0 and self.vy==0) then --self.anim =self.animacoes.move self.vec.x=self.vx self.vec.y=self.vy end end function p:dash() if btnp(4) and self.dash and self.dCdT<=0 then --sfx(3) self.dTmr=self.dTmp self.dCdT=self.dCd end if self.dCdT > 0 then self.dCdT=self.dCdT-1 end if self.dTmr>0 then self.dTmr=self.dTmr-1 self.state='d' local x,y=self.x,self.y if (self.vec.x~=0 and (self.vec.x < 0 and not solido(self.x-self.v,self.y) and not solido(self.x-self.v,self.y+self.h)) or (self.vec.x > 0 and not solido(self.x+self.v+self.w,self.y) and not solido(self.x+self.v+self.w,self.y+self.h)) ) then self.x=self.x+(self.vec.x*self.dv) end if (self.vec.y~=0 and (self.vec.y < 0 and not solido(self.x,self.y-self.v) and not solido(self.x+self.w,self.y-self.v)) or (self.vec.y > 0 and not solido(self.x,self.y+self.v+self.h) and not solido(self.x+self.w,self.y+self.v+self.h)) ) then self.y=self.y+(self.vec.y*self.dv) end end end function p:takehit() if self.htmr>0 then self.htmr=self.htmr-1 -- if self.htmr>self.htmp/2 then -- self.x=self.x+self.kbx*self.kb -- self.y=self.y+self.kby*self.kb --end end for j=1,#inimigos do if col(self.hbox,inimigos[j]) and inimigos[j].dano and self.htmr<=0 and self.dTmr<=0 then parts(self.x+self.w/2,self.y+self.h/2,20,12) self.kb=inimigos[j].kb self.kbx=inimigos[j].vec.x self.kby=inimigos[j].vec.y self.htmr = self.htmp self.vida=self.vida-inimigos[j].dano if inimigos[j].isbala then inimigos[j].ativo=false end if self.vida <= 0 then self.y=68 self.vida=self.vidaMax self.x=120 self.yy=0 self.xx=0 gamestate='g' --sync() end end end end function p:draw() --hud--------------- local x,y=0*8,0*8+1 -- print(self.orb,self.x,self.y-8,12) rect(x,y,(self.vidaMax*5),8,15) rect(x,y,self.vida*5,8,7) for i=0,self.vidaMax-1,1 do spr(496,x+i*5,y,8) end if self.isdash then rect(x+self.vidaMax*5,y,8,8,15) if self.dCdT<=0 then rect(x+self.vidaMax*5,y,7,7,10) end spr(497,x+self.vidaMax*5,y,8) rect(self.x,self.y+self.h+3,self.dCdT*(8/self.dCd),1,10) end if self.vida0 then if t%(60*0.3)//(30*0.3)==0 then return end end local os=0 if self.state=='i' then if self.dir=='d' then os=0 self.f=0 elseif self.dir=='e' then os=0 self.f=1 elseif self.dir=='c' then --os=32 self.f=0 elseif self.dir=='b' then --os=16 self.f=0 end sprol(os+self.img,self.x,self.y,8,1,self.f,0,1,1,self.bc) elseif self.state=='m' then if self.dir=='d' then os=1 self.f=0 elseif self.dir=='e' then os=1 self.f=1 elseif self.dir=='c' then os=33 self.f=0 elseif self.dir=='b' then os=17 self.f=0 end --if self.dir == 'd' or self.dir == 'e' then sprol(os+self.img+t%15//7.5*1,self.x,self.y,8,1,self.f,0,1,1,self.bc) --else -- sprol(os+self.img,self.x,self.y,8,1,0+t%15//7.5*1,0,1,1) --end end if self.dTmr>0 then part(self.x+self.w/2-self.vec.x*8,self.y+self.h-self.vec.y*8,14,15) part(self.x+self.w/2-self.vec.x*8,self.y+self.h-self.vec.y*8,13,10) end if self.htmr>0 then if t%(60*0.3)//(30*0.3)==0 then return end end local x,y=self.x,self.y if self.msgTmr>0 then self.msgTmr=self.msgTmr-1 print(self.msg,x,y-9,12) end --print(self.vec.x..'/'..self.vec.y,x,y-9) end bs={} b=e:new{--tiro base x=0, y=0, w=4, h=4, a=0, v=1, kb=1, c1=12, c2=1, vec={x=0,y=0}, --c=12, ativo=true, dano=0, target=nil, isbala=true, tipo='t', tmr=120, p=0 } bi=b:new{ c1=12, c2=7 } b2=b:new{--ataque melee w=2, h=2, v=2, atravessa=true, tmr=20, trac=true, x0=0, y0=0, } b3=b:new{--ataque do boss1 w=10, h=10, v=0.6, tmr=20, isCirc=true } b4=b:new{--ataque do boss1 ? v=0.6, tmr=60*8, isbalist=true } b5=b:new{--tiro rapido e fraco v=0.7, tmr=30, c1=7, c2=9 } b6=b:new{--tiro fragmentacao v=0.7, tmr=60, isFrag=true, c1=7, c2=9, isIni=true } b7=b:new{ --flame v=2, tmr=20, c1=7, c2=9, tipo='d' } b8=b:new{ --granada v=2, tmr=60, c1=7, c2=9, tipo='d', ox=0, oy=0, arcH=-50, expld=true } b9=b:new{ -- explosao w=20, h=20, tmr=10, } orb=b:new{ h=8, w=8, v=0.02 } function orb:update() local v = self.v * plr.orb self.a=self.a+v self.x= plr.x+sin(self.a)*30 self.y= plr.y+cos(self.a)*30 end function orb:draw() local x,y=self.x,self.y circ(self.x+self.w/2,self.y+self.h/2,self.w/2,12) if t%(60*0.3)//(30*0.3)==0 then circ(self.x+self.w/2,self.y+self.h/2,self.w/2,5) end end function b:moveParabola() if self.ox == 0 and self.oy == 0 then self.ox,self.oy=self.x,self.y end if self.target~=nil then if self.target.x ~= 0 and self.target.y ~= 0 then local dist = self.target.x - self.ox local nxtX = MoveTowards(self.x,self.target.x,self.v*dist*Sign(dist)*0.01) local baseY=Lerp(self.oy,self.target.y,(nxtX-self.ox)/dist) local hgt=self.arcH*(nxtX-self.ox)*(nxtX-self.target.x)/(-0.25*dist*dist) self.x= nxtX self.y= baseY+hgt end end end function b8:update() if self.tmr>0 then self.tmr=self.tmr-1 else self:explode() end self:moveParabola() end function b:explode() local bb=b9:new{x=self.x+self.w/2-10,y=self.y+self.h/2-10,ativo=true,dano=self.dano,c1=self.c1,c2=self.c2,v=0} table.insert(bs,bb) self.ativo=false end function b:update() --print(self.target.x..'/'..self.target.y,self.x,self.y-4) if self.isbalist then self:steering() else self:move() end if solido(self.x+self.w/2,self.y+self.h/2) then self.ativo=false end if self.tmr>0 then self.tmr=self.tmr-1 else if self.isFrag then for i=1,4,1 do local tb = bs if self.isIni then tb=inimigos end local bb=b:new{x=self.x,y=self.y,ativo=true,a=((i*2)-1)*0.125,dano=self.dano,c1=self.c1,c2=self.c2,v=self.v} table.insert(tb,bb) end end self.ativo=false end end function b:steering() if self.target and self.a==0 then self.a=angEntre(self,self.target) self.vec=ang2vec(self.a) end local vel={x=self.vec.x*self.v,y=self.vec.y*self.v} local dvel={x=self.vec.x*(self.v+self.v/4),y=self.vec.y*(self.v+self.v/4)} local ste = {x=dvel.x-vel.x,y=dvel.y-vel.y} if ste.x>0 then ste.x=math.min(ste.x,self.v) elseif ste.x<0 then ste.x=math.max(ste.x,-self.v) end if ste.y>0 then ste.y=math.min(ste.y,self.v) elseif ste.x<0 then ste.y=math.max(ste.y,-self.v) end if vel.x>0 then vel.x=math.min(vel.x+ste.x,self.v+self.v/4) elseif ste.x<0 then vel.x=math.max(vel.x+ste.x,self.v+self.v/4) end if vel.y>0 then vel.y=math.min(vel.x+ste.x,self.v+self.v/4) elseif vel.y<0 then vel.y=math.max(vel.x+ste.x,self.v+self.v/4) end self.x=self.x+vel.x self.y=self.y+vel.y end function b:move() if self.tipo =='t' then if self.target and self.a==0 then self.a=angEntre(self,self.target) -- self.vec=ang2vec(self.a) --elseif self.target == 'nil' then -- self.vec=ang2vec(self.a) end self.vec=ang2vec(self.a) elseif self.tipo =='d' then self.vec=self.target end self.x=self.x+self.vec.x*self.v self.y=self.y+self.vec.y*self.v end function b:draw() local x,y =self.x,self.y if self.trac then if self.x0==0 then self.x0=self.x end if self.y0==0 then self.y0=self.y end line(self.x0,self.y0,self.x,self.y,self.c) end if not self.c1 then if self.isCirc then circ(self.x+self.w/2,self.y+self.h/2,self.w/2,self.c) else rect(x,y,self.w,self.h,self.c) end else local c = self.c1 if t%(60*0.3)//(30*0.3)==0 then c = self.c2 end if self.isCirc then circ(self.x+self.w/2,self.y+self.h/2,self.w/2,c) else rect(x,y,self.w,self.h,c) end end pix(x,y,15) pix(x+self.w-1,y,15) pix(x,y+self.h-1,15) pix(x+self.w-1,y+self.h-1,15) end function tiro(x,y,obj,tbl,t,d,p) tbl[#tbl+1]={} tbl[#tbl]=obj:new{x=x,y=y,ativo=true,target=t,dano=d,p=p} table.insert(tbl,i) end as={} a=e:new{--magic bolt nome='mb', x=0, y=0, cd=60, cdTmr=0, range=1, target=nil, blt=b, dmg=1, c=13, img=469, av={x=0,y=0} } a2=a:new{--spear nome='sp', cd=40, blt=b2, plrdir=true, melee=true } a3=a:new{--smg nome='sm', atirou=false, ativo=false, cdAtivo=60*5, range=0.5, cdAtivoTmr=0, AtivoTmp=60*3, cd=15, blt=b5, dmg=0.3, c=3, img=470, cdativar=true } a4=a3:new{--lanca-chamas nome='ft', cd=5, blt=b7, dmg=0.1, img=468, range=0 } a5=a:new{--granada nome='gr', cd=60*2, blt=b8, dmg=5, img=484, range=1 } function a:update() if self.cdTmr > 0 then self.cdTmr=self.cdTmr-1 end self.x=plr.x+(plr.w/2) self.y=plr.y+(plr.h/2) local range =self.range*plr.range for j=1,#inimigos do if inimigos[j].naTela and (distEntre(self.x,self.y,inimigos[j].x+inimigos[j].w/2,inimigos[j].y+inimigos[j].h/2)<= range)or(self.melee) then if self.cdTmr <= 0 then local trgt = {x=inimigos[j].x+inimigos[j].w/2 ,y=inimigos[j].y+inimigos[j].h/2} if self.plrdir==true then trgt.x=self.x+(plr.vec.x*16) trgt.y=self.y+(plr.vec.y*16) end local x,y = self.x-self.blt.w/2, self.y-self.blt.h/2 --sfx(0) self.av.x,self.av.y=vecEntre(self,trgt) tiro(x,y,self.blt,bs,trgt,self.dmg*plr.dano,plr.perfura) self.cdTmr=self.cd end end end if #inimigos== 0 then self.target=nil end end function a4:update() if self.cdAtivoTmr>0 then if self.ativo and self.atirou then self.cdAtivoTmr=self.cdAtivoTmr-1 elseif self.ativo==false then self.cdAtivoTmr=self.cdAtivoTmr-1 end else if self.ativo then self.cdAtivoTmr=self.cdAtivo self.ativo=false self.atirou=false else self.cdAtivoTmr=self.AtivoTmp self.ativo=true end end if self.cdTmr > 0 then self.cdTmr=self.cdTmr-1 end self.x=plr.x+(plr.w/2) self.y=plr.y+(plr.h/2) local range =self.range*plr.range for j=1,#inimigos do if self.ativo then if self.cdTmr <= 0 then self.atirou=true local trgt = {x=plr.vec.x+rnd(-1,1)/4, y=plr.vec.y+rnd(-1,1)/4 } local x,y = self.x-self.blt.w/2, self.y-self.blt.h/2 --sfx(0) tiro(x,y,self.blt,bs,trgt,self.dmg*plr.dano,plr.perfura) self.cdTmr=self.cd end end end if #inimigos== 0 then self.target=nil end end function a:draw() local c=self.c if self.target ~= nil then c=5 end circb(self.x,self.y,self.range*plr.range,c) end inimigos={} ini=e:new{--goblinEt x=100, y=50, xx=telaAtual.x, yy=telaAtual.y, naTela=true, w=8, h=7, a=0, vec={x=0,y=0}, v=0.4, img=304, f=0, ativo=true, vidaMax=3, vida=3, htmr=0, htmp=15, kb=0, kbx=0, kby=0, state='m', dano=1, bc=12, spwAnimTmr=60 } ini2=ini:new{--slime vidaMax=2, vida=2, rndcont=0, wtmp=60, img=259, v=0.3, rnddir={x=0,y=0}, --bc=7 } ini4=ini:new{--slime spawnado pelo big vida=1, vidaMax=1, v=0.5, img=259, -- bc=7 } ini3=ini:new{--big slime vida=5, vidaMax=5, w=13, h=12, img=291, spw=true, spwi=ini4, spwn=2, spwnm=4, -- bc=7 } ini5=ini:new{--morcego vida=2, vidaMax=2, v=0.6, img=353, state='p', isbat=true, --bc=11 } ini6=ini:new{--sniper vida=3, vidaMax=3, img=387, dist=200, tiroTmr=0, tiroTmp=60*3, prepTmr=0, atktmr=0, atktmp=30, blt=bi,--b c=2, --bc=15 } ini7=ini6:new{--soldado vida=3, vidaMax=3, img=403, dist=60, -- bc=15 } ini8=ini7:new{--Bruto vida=5, dist=40, isCharge=true, vidaMax=5, img=356, target={x=0,y=0}, --bc=15 } ini9=ini3:new{--SlmExpldProj vida=5, vidaMax=5, w=13, h=12, img=359, spw=true, expl=true, spwi=ini4, spwn=2, spwnm=4, v=0.3, blt=bi, --bc=7 } ini9_1=ini9:new{ spwi=ini3 } ini10=ini:new{--spikedBug vidaMax=5, vida=2, rndcont=0, wtmp=60, img=275, v=0.6, rnddir={x=0,y=0}, -- bc=7 } boss1=ini8:new{--demonho vida=70, vidaMax=70, w=16, atktmp=60, h=16, img=264, dist=60, isboss=true, blt=bi, c=12, -- bc=0 } boss2=ini9:new{--slm vida=50, vidaMax=50, w=22, spwi=ini9_1, spwn=6, spwnm=6, h=16, img=295, isboss=true, isslimeking=true, spwtmr=0, -- bc=7 } boss32=ini6:new{ vida=10, vidaMax=10, w=8, h=8, img=333, isboss=true, --bc=0 } boss31=ini6:new{ vida=20, vidaMax=20, w=13, h=12, img=326, isboss=true, spw=true, spwi=boss32, spwn=4, spwnm=4, --bc=0 } boss3=ini6:new{ vida=40, vidaMax=40, w=16, h=12, img=322, isboss=true, spw=true, spwi=boss31, spwn=2, spwnm=2, -- bc=0 } function ini:update() self:taNaTela() if self.naTela then if self.state~='p' and self.spwAnimTmr <= 0 then self:seek(plr) elseif distEntre(self.x,self.y,plr.x+plr.w/2,plr.y+plr.h/2)<50 then self.state='m' end self:takehit() end end function ini6:update() self:taNaTela() if self.x > plr.x then self.f=1 else self.f=0 end if self.naTela and self.spwAnimTmr <= 0 then self:takehit() self:atira() end end function ini7:update() self:taNaTela() if self.naTela and self.spwAnimTmr <= 0 then if self.state~='p'then if self.state=='m' then self:seek(plr) end if self.isCharge then self:charge() else self:atira() end elseif distEntre(self.x,self.y,plr.x+plr.w/2,plr.y+plr.h/2)<50 then self.state='m' end self:takehit() end end function ini:takehit() if self.htmr>0 then self.htmr=self.htmr-1 -- if self.htmr>self.htmp/2 then local kbf = 1 if (not self.isboss) or (self.state=='a' and self.isCharge )then if (self.vec.x~=0 and (self.vec.x < 0 and not solido(self.x-kbf,self.y) and not solido(self.x-kbf,self.y+self.h)) or (self.vec.x > 0 and not solido(self.x+kbf+self.w,self.y) and not solido(self.x+kbf+self.w,self.y+self.h)) ) then self.x=self.x+self.kby*self.kb end if (self.vec.y~=0 and (self.vec.y < 0 and not solido(self.x,self.y-kbf) and not solido(self.x+self.w,self.y-kbf)) or (self.vec.y > 0 and not solido(self.x,self.y+kbf+self.h) and not solido(self.x+self.w,self.y+kbf+self.h)) ) then self.y=self.y+self.kby*self.kb end end end for j=1,#bs do if col(self,bs[j]) and bs[j].dano and self.htmr<=0 then parts(self.x+self.w/2,self.y+self.h/2,20,12) self.kb=bs[j].kb self.kbx=bs[j].vec.x self.kby=bs[j].vec.y self.htmr = self.htmp self.vida=self.vida-bs[j].dano --sfx(1) if self.htmr > self.htmp/2 then end if bs[j].p >0 then bs[j].p=bs[j].p-1 elseif bs[j].p==0 then if bs[j].expld == true then bs[j]:explode() else bs[j].ativo=false end end if self.vida <= 0 then if self.spw then local n = flr(self.spwn,self.spwm) for i=1,n,1 do local x = rnd(-self.w,self.w) local y = rnd(-self.h,self.h) spwEnt(self.x+(self.w/2)+x,self.y+(self.h/2)+y,self.spwi,inimigos) end end if self.expl then local x,y=self.x+self.w/2,self.y+self.h/2 local t1 = {x=x,y=y-150} tiro(x,y,self.blt,inimigos,t1,1,self.c) local t2 = {x=x+240,y=y} tiro(x,y,self.blt,inimigos,t2,1,self.c) local t3 = {x=x,y=y+150} tiro(x,y,self.blt,inimigos,t3,1,self.c) local t4 = {x=x-240,y=y} tiro(x,y,self.blt,inimigos,t4,1,self.c) if self.isboss then local t5 = {x=x+240,y=y-150} tiro(x,y,self.blt,inimigos,t5,1,self.c) local t6 = {x=x+240,y=y+150} tiro(x,y,self.blt,inimigos,t6,1,self.c) local t7 = {x=x-240,y=y+150} tiro(x,y,self.blt,inimigos,t7,1,self.c) local t8 = {x=x-240,y=y-150} tiro(x,y,self.blt,inimigos,t8,1,self.c) end end --sfx(2) self.ativo = false iniNaTela = iniNaTela -1 end end end end function ini:taNaTela() if self.xx==telaAtual.x and self.yy==telaAtual.y then self.naTela=true else self.naTela=false end end function ini:atira() if self.atktmr>0 then self.atktmr=self.atktmr-1 else if self.state=='a' then self.state='m' end end if self.prepTmr>0 then self.prepTmr=self.prepTmr-1 else if self.state=='pr' then self.state='a' local target = {x=plr.x+plr.w/2,y=plr.y+plr.h/2} local x,y = self.x+self.w/2-self.blt.w/2, self.y+self.h/2-self.blt.h/2 tiro(x,y,self.blt,inimigos,target,1,self.c) self.atktmr=30 self.tiroTmr=self.tiroTmp end end if self.tiroTmr>0 then self.tiroTmr=self.tiroTmr-1 elseif self.state=='m' and distEntre(self.x,self.y,plr.x+plr.w/2,plr.y+plr.h/2)0 then self.atktmr=self.atktmr-1 else if self.state=='a' then self.state='m' end end if self.prepTmr>0 then self.prepTmr=self.prepTmr-1 else if self.state=='pr' then self.state = 'a' self.atktmr=self.atktmp self.tiroTmr=self.tiroTmp end end if self.tiroTmr>0 then self.tiroTmr=self.tiroTmr-1 elseif self.state=='m' and distEntre(self.x,self.y,plr.x+plr.w/2,plr.y+plr.h/2) 0 and not solido(self.x+self.v+self.w,self.y) and not solido(self.x+self.v+self.w,self.y+self.h)) ) then self.x=self.x+vec.x*self.v*3 end if (vec.y~=0 and (vec.y < 0 and not solido(self.x,self.y-self.v) and not solido(self.x+self.w,self.y-self.v)) or (vec.y > 0 and not solido(self.x,self.y+self.v+self.h) and not solido(self.x+self.w,self.y+self.v+self.h)) ) then self.y=self.y+vec.y*self.v*3 end end end function ini:move() if self.vec.x<0 then self.f=1 else self.f=0 end if self.htmr <=0 then if (self.vec.x~=0 and (self.vec.x < 0 and not solido(self.x-self.v,self.y) and not solido(self.x-self.v,self.y+self.h)) or (self.vec.x > 0 and not solido(self.x+self.v+self.w,self.y) and not solido(self.x+self.v+self.w,self.y+self.h)) ) then self.x=self.x+self.vec.x*self.v end if (self.vec.y~=0 and (self.vec.y < 0 and not solido(self.x,self.y-self.v) and not solido(self.x+self.w,self.y-self.v)) or (self.vec.y > 0 and not solido(self.x,self.y+self.v+self.h) and not solido(self.x+self.w,self.y+self.v+self.h)) ) then self.y=self.y+self.vec.y*self.v end end end function ini:seek(target) self.a=angEntre(self,target) self.vec=ang2vec(self.a) self:move() end function ini:draw() if self.spwAnimTmr > 0 then self.spwAnimTmr=self.spwAnimTmr-1 circb(self.x,self.y,self.spwAnimTmr/2,12) circb(self.x,self.y,self.spwAnimTmr/3,13) circb(self.x,self.y,self.spwAnimTmr/4,14) else if self.xx and self.yy and self.xx==telaAtual.x and self.yy==telaAtual.y then rect(self.x,self.y+self.h+3,self.vida*(self.w/self.vidaMax),1,7) if self.htmr>0 then if t%(60*0.3)//(30*0.3)==0 then return end end if self.state == 'p' or self.state == 'a' then sprol(self.img-ceil(self.w/8),self.x,self.y,8,1,self.f,0,ceil(self.w/8),ceil(self.h/8),self.bc) elseif self.state == 'pr' then sprol(self.img+2*ceil(self.w/8),self.x,self.y,8,1,self.f,0,ceil(self.w/8),ceil(self.h/8),self.bc) else sprol(self.img+t%30//15*ceil(self.w/8),self.x,self.y,8,1,self.f,0,ceil(self.w/8),ceil(self.h/8),self.bc) end end end end it1=e:new{ nome=' Armadura', d='Aumenta Resistencia', img=432, f=function() plr.vidaMax=plr.vidaMax+1 plr.vida=plr.vida+1 end } it2=it1:new{ nome=' Botas-Foguete', d='Aumenta Carregamento de dash', img=434, f=function() plr.dCd=plr.dCd*0.75 end } it3=it1:new{ nome=' +Velocidade', d='Aumenta Velocidade de movimento.', img=436, f=function() plr.v=plr.v+plr.v/2 end } it4=it1:new{ nome=' +Alcance', d='Aumenta Alcance.', img=438, f=function() plr.range=plr.range*1.1 end } it5=it1:new{ nome=' +Ataque', d='Aumenta Ataque.', img=440, f=function() plr.dano=plr.dano+plr.dano/2 end } it6=it1:new{ nome=' +vel.tiro', d='Aumenta cadencia dos disparos. ', img=442, f=function() arm[1].cd=arm[1].cd*0.8 end } it7=it1:new{ nome='Submetralhadora', d='Arma rapida porem pouco potente.\nDiminui Cooldown.', img=444, f=function() local tem=false local idx=0 for i=1,#arm do if arm[i].nome=='sm' then tem=true idx = i end end if tem then arm[idx].cdAtivo= arm[idx].cdAtivo * 0.75 else table.insert(arm,a3) end end } it8=it1:new{ nome='Tiro Perfurante', d='Disparos atravessao +1 inimigo. ', img=446, f=function() plr.perfura=plr.perfura+1 end } it9=it1:new{ nome='Orbe', d='Uma orbe que gira ao seu redor\nAumenta velocidade de rotacao ', img=464, f=function() plr.orb=plr.orb+1 if plr.orb == 1 then tiro(plr.x,plr.y,orb,bs,null,1,-1) end end } it10=it1:new{ nome='Lanca-Chamas', d='Lanca chamas na direcao que esta olhando.\nDiminui Cooldown.', img=466, f=function() local tem=false local idx=0 for i=1,#arm do if arm[i].nome=='ft' then tem=true idx = i end end if tem then arm[idx].cdAtivo= arm[idx].cdAtivo * 0.75 else table.insert(arm,a4) end end } it11=it1:new{ nome='Granada', d='Atira uma granada no alvo.\nDiminui Cooldown.', img=471, f=function() local tem=false local idx=0 for i=1,#arm do if arm[i].nome=='gr' then tem=true idx = i end end if tem then arm[idx].cdAtivo= arm[idx].cdAtivo * 0.75 else table.insert(arm,a5) end end } upgrades={it1,it2,it3,it4,it5,it6,it7,it8,it9,it10,it11} --upgrades={it10,it8,it9} up=false sffUp=true idx=0 function upgrade() if sffUp then shuffle(upgrades) sffUp=false end for i=0,2,1 do rect((i*8*10)+(8*2)-8,8*3,8*8,8*9,15) rectb((i*8*10)+(8*2)-8,8*3,8*8,8*9,12) spr(upgrades[i+1].img,(i*8*10)+(8*2)+8,(8*3)+(8),8,2,0,0,2,2) print(upgrades[i+1].nome,8+(i*8*10)+(8*2)-13,8*4+(6*6),12,false,1,true) tri((idx*8*10)+(8*2)+2.5*8,8*3-8, 8+(idx*8*10)+(8*2)+2.5*8,8*3-8, 4+(idx*8*10)+(8*2)+2.5*8,8*3,12) rect((1*8),8*13,28*8,8*3,15) rectb((1*8),8*13,28*8,8*3,12) print(upgrades[idx+1].d,(2*8),8*14,12,false,1,true) end if btnp(3) then idx=idx+1 if idx>2 then idx=0 end end if btnp(2) then idx=idx-1 if idx<0 then idx=2 end end if btnp(4) then upgrades[idx+1].f() up=false end end -----helpers------- ------------------ abs = math.abs function shuffle(tbl) for i = #tbl, 2, -1 do local j = math.random(i) tbl[i], tbl[j] = tbl[j], tbl[i] end return tbl end function ang2vec(a) local v={x,y} v.x=cos(a*tau) v.y=sin(a*tau) return v end function vec2ang(v) local a=atan2(v.y,v.x) if a<0 then a=a+tau end a=a/tau return a end function angEntre(a,b) local ae={x,y} ae.x=b.x-a.x ae.y=b.y-a.y return vec2ang(ae) end function vecEntre(a,b) local ae={x,y} ae.x=b.x-a.x ae.y=b.y-a.y return ae.x,ae.y end function distEntre(ax,ay,bx,by) return sqrt( ((bx-ax)^2)+((by-ay)^2) ) end function objsRemove(objs) local l=#objs for i=l,1,-1 do if not objs[i].ativo then table.remove(objs,i) end end end function col(o,ou) if ou~=nil then if o.x+o.w>=ou.x and o.x<=ou.x+ou.w and o.y+o.h>=ou.y and o.y<=ou.y+ou.h then return true else return false end else return false end end function normal(x,y) local mag =sqrt(x*x + y*y) local v={x=x/mag,y=y/mag} return v end function solido(x,y) return solidos[mget((x//flr(8)+30*telaAtual.x) ,(y//flr(8)+17*telaAtual.y))] end function sign(n) return n>1 and 1 or n<0 and -1 or 0 end function lerp(a,b,t) return (1-t)*a + t*b end function Sign(num) if num > 0 then num = 1 elseif num < 0 then num = -1 else num = 0 end return num end function MoveTowards(current, target, maxDelta) if abs(target - current) <= maxDelta then return target end return current + Sign(target - current) * maxDelta end function Clamp01(value) if value < 0 then return 0 elseif value > 1 then return 1 end return value end function Lerp(from, to, t) return from + (to - from) * Clamp01(t) end function spwEnt(xx,yy,obj,tbl,i) local it=i or nil local ox,oy =(flr(xx/240)),(flr(yy/130)) tbl[#tbl+1]={} if it==nil then tbl[#tbl]=obj:new{x=xx,y=yy,xx=telaAtual.x,yy=telaAtual.y} else tbl[#tbl]=obj:new{x=xx,y=yy,xx=telaAtual.x,yy=telaAtual.y,item=it} end table.insert(tbl,i) end ps={} function parts(x,y,r,c) local j=rnd(5,7) for i=1,j do part(x,y,c,r) end end function part(x,y,c,r) table.insert(ps,{x=x,y=y,d=rnd()*tau,c=c ,ftl=r+rnd(r),s=0.02+0.03*rnd()}) end function drawParts() toDel={} for i,p in ipairs(ps) do circ(p.x,p.y,p.ftl/10,p.c) p.x=p.x+cos(p.d)*p.s*p.ftl p.y=p.y+sin(p.d)*p.s*p.ftl p.ftl=p.ftl-1 p.s=p.s*0.95 if p.ftl<=0 then table.insert(toDel,i) end end for i=#toDel,1,-1 do table.remove(ps,toDel[i]) end end outColor=5 function sprol(i,x,y,t,s,f,r,w,h,cc) local b= 1 mx,my=mouse() for c=0,15 do poke4(palette_map*2+c,cc) end for dx=-b,b do for dy=-b,b do spr(i,x+dx,y+dy,t,s,f,r,w,h) end end for c=0,15 do poke4(palette_map*2+c,c) end spr(i,x,y,t,s,f,r,w,h) end -------------------------- ---------------------------- numIni=1 onda=0 inis={ini,ini2} function geraValidPos(ax,ay,bx,by,d) local x=rnd(flr(ax),flr(bx)) local y=rnd(flr(ay),flr(by)) vec={x=x,y=y} if distEntre(vec.x,vec.y,plr.x,plr.y) < d then return geraValidPos(ax,ay,bx,by,d) else return vec end end inicio = true function horda() local isboss = false if #inimigos<=0 and #ps<=0 then if onda <= 2 then inis={ini,ini2} elseif onda >2 and onda<6 then inis={ini5,ini,ini6,ini3} elseif onda == 6 then isboss=true inis={boss2} elseif onda >6 and onda<10 then inis={ini5,ini6,ini7} elseif onda >=10 and onda<13 then inis={ini5,ini8,ini6,ini10} elseif onda == 13 then isboss=true inis={boss1} elseif onda >13 and onda<=16 then inis={ini9,ini6,ini10} elseif onda >16 and onda<20 then inis={ini9,ini8,ini7,ini10} elseif onda == 20 then isboss=true inis={boss3} elseif onda >20 then gamestate = 'w' end if isboss == false then for i=0,numIni+onda+(flr(onda/2)) do local vc=geraValidPos(2*8,2*8,27*8,13*8,50) spwEnt(vc.x,vc.y,inis[rnd(flr(1),flr(#inis))],inimigos) end else spwEnt(120,50,inis[1],inimigos) end if inicio then inicio=false else up=true sffUp=true end onda=onda+1 end end function game() map(0) if up==false then plr:update() --orb:update() ---desenhar armas local x,y=-6,0 for i=1,#arm do rect(x+8*i,y+8,8,8,0) spr(arm[i].img,x+(8*i),y+8,8) if arm[i].cdativar then if arm[i].cdAtivoTmr>0 then rect(x+8*i,y+16,arm[i].cdAtivoTmr*(8/arm[i].cd),3,7) rectb(x+8*i,y+16,arm[i].cdAtivoTmr*(8/arm[i].cd),3,12) end else if arm[i].cdTmr>0 then rect(x+8*i,y+16,arm[i].cdTmr*(8/arm[i].cd),3,7) rectb(x+8*i,y+16,arm[i].cdTmr*(8/arm[i].cd),3,12) end end end --limites(p) rect(106,0,41,8,15) print('onda:'..onda,108,1,12) --print('onda:'..#inimigos,120,8,12) plr:draw() --orb:draw() for i=1,#arm do arm[i]:update() arm[i]:draw() end objsRemove(inimigos) objsRemove(bs) for j=1,#bs do bs[j]:update() bs[j]:draw() end -- for j=1,#bis do -- bis[j]:update() -- bis[j]:draw() --end for j=1,#inimigos do inimigos[j]:update() inimigos[j]:draw() end horda() drawParts() else upgrade() end --updatejoystick(v) --drawjoystick(v) end function menu() local c=12 -- print('LITTLE WIZARD ADVENTURE',60,10,c) if t%(60*0.3)//(30*0.3)==0 then c=12 else c=2 end print('START',105,120,c) spr(160,80,10,8,2,0,0,6,6) if btnp(4) or mp then gamestate = 'j' init() end end function gameover() local c=12 if t%(60*0.3)//(30*0.3)==0 then c=12 else c=2 end spr(182,9*8,1*8,8,3,0,0,4,4) print(' GAMEOVER\n\n PRESS Z KEY \n\n OR A BUTTON',72,12*8,c) if btnp(4) or mp then gamestate = 'm' end end function win() local c=12 if t%(60*0.3)//(30*0.3)==0 then c=12 else c=2 end print(' PARABAINS\n\n PRESS Z KEY \n\n OR A BUTTON\n\n TOUCH TO START',75,40,c) if btnp(4) or mp then gamestate = 'm' end end init() function TIC() cls(15) if gamestate=='m' then menu() elseif gamestate=='j' then game() elseif gamestate=='g' then gameover() elseif gamestate=='w' then win() end t=t+1 end