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