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