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