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