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