---------------------------------------------------------------------------
--------------------------------------------------------*--------------------
----------------
---------------*---------------------------------------------------------------
------------------------------
-----------------------------------------------------------------------------------------*----
----------------------------------------------------------------
----------------------------------------------------*-------------------------
----------------------
-------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
-------*-----------------
-----------------------------
---------------------------------------------------------------*--------------------------------
-----------------------------------------------------------------------------------------
------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
------------------------------------------------------------
--------------------------------------------
--------------------------
------------------------------------------------------
------------------------------------------------------------------------------------
---------------------------------------------------------------------
------------------------------
----------------------------
------------------------------------------------------------------------------
---------------------------------------------------------------------------------
---------------------------
------------------------------------------------------------------------------
----------------------------------------------
------------------------------
---------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------