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