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