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