******** ******* ************ ** ******* ********
** ****** ****** ** ******* **** ** ***** ** ****************** ** *********** ** ********* * ** ********
*** ********* ****** ** ***
******* ******* ******** ** ******** ** ****** ** ******* ** ****** ***** ****** ********* ******* ******** ** ****** *** *********
** ********** ******* **** **** ** ** **** ***** *******