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