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