------****-----****-----****----*****------*****----------****-----****-----****----*****----
------****-----****-----****----*****------*****----------****-----****-----****----*****----
------****-----****-----****----*****------*****----------****-----****-----****----*****----...