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