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