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