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