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