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