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