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