--------------------------------------------------
----------------------------------------------------------------
----------------------------------------------
-------------------------------------------------------------------
---------------------------------------------------------
--------------------------------------------------------------
---------------------------------------
-------------------------------------
---------------------------------------------
--------------------
------------------------------------
---------------------------
----------------------------------------------------------------------------------
-------------------------------------------------
----------------------------
-----------------------------------------------
------------------------------------------------------------
-----------------
------------------------------------
----------------------------------------------
---------------------------------------
-------------------------------------------------------
----------------------------
-----------------------------------
----------------------------------------------
-------------------------------------------------------------------------
----------------------------------------------------------
------------------------------------------------------------
-------------------------------------------------
-----------------------------------------------------------------
-------------------------------------------------------------------------------
---------------------------------------------------------
----------------------------------------
----------------------------------------------------------------------------
------------------------------------------------------------------------------------
--------------------------------------------------------------------------
-----------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
-------------------------------------------------------
----------------------------------------------------
-----------------------------------------
----------------------
-------------------------------------------------------------------
--------------------
-------------------------------
-----------------------------------------
----------------------
---------------------------
----------------------------------
----------------------
--------------------------------------
--------------------------
--------------------------------------------
----------------------
----------------------------------
-------------------------------------
--------------------------------------------------------------------------------------------------------
---------------------------------------
---------------------------------------------
-----------------------------------------------------------