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