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