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