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