Thread:Brenn Mapper/@comment-35395907-20180430003411

ALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALTALT 