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