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