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