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