Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage"

(Tutorials:- Stardust API's and Performing Queries.)
Line 5: Line 5:
 
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/Initialization|Initialization]]  
 
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/Initialization|Initialization]]  
 
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/StartProcess|Start a process]]  
 
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/StartProcess|Start a process]]  
*<a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/CompleteAnActivity">Complete an activity</a>
+
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/CompleteAnActivity|Complete an activity]]
 
*Attach a document  
 
*Attach a document  
 
*Executing queries
 
*Executing queries
  
:*Process instances
 
:*Status of a process instance
 
:*History of a process
 
</dd>
 
  
 +
:
  
  
</dd>
 
  
<br>
+
:
  
*List data mappings of an activity
 
*&lt;a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/ActivityEventHibernateInitially"&gt;Checking Activity Event and Hibernate initially Status&lt;/a&gt;
 
*&lt;a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/GeneratingRoleBasedAPI"&gt;Generating role/grant-based Stardust API queries&lt;/a&gt;<br>
 
*&lt;a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/StartingPIDocumentAttachments"&gt;Starting a process instance with document attachments via the Stardust WS-API&lt;/a&gt;<br>
 
*&lt;a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/SupportCaseJavaAPI"&gt;Executing the Support Case example using the Stardust Java API&lt;/a&gt;
 
*&lt;a href="STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/CompleteAPIExample"&gt;Complete Stardust API Example&lt;/a&gt;<br>
 
  
:*&lt;a href="STP/Stardust/KnowledgeBase/API/DMSJavaAPIExample"&gt;DMS Java API Examples&lt;/a&gt;<br><br>
 
&lt;/dd&gt;
 
  
 +
:
  
  
&lt;/dd&gt;
 
  
<br>  
+
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
 
 +
:
 +
 
 +
 
 +
:*Process instances
 +
:*Status of a process instance
 +
:*History of a process
 +
 
 +
<span style="display: none;" id="1322579752242S">&nbsp;</span><span style="display: none;" id="1322579718853S">&nbsp;</span>List data mappings of an activity
 +
 
 +
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/ActivityEventHibernateInitially|Checking Activity Event and Hibernate initially Status]]
 +
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/GeneratingRoleBasedAPI|Generating role/grant-based Stardust API queries]]<br>
 +
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/StartingPIDocumentAttachments|Starting a process instance with document attachments via the Stardust WS-API]]<br>
 +
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/SupportCaseJavaAPI|Executing the Support Case example using the Stardust Java API]]
 +
*[[STP/Stardust/KnowledgeBase/API/ExamplesofAPIUsage/CompleteAPIExample|Complete Stardust API Example]]<br>
  
 +
:*[[STP/Stardust/KnowledgeBase/API/DMSJavaAPIExample|DMS Java API Examples]]
 +
<br>
 
<br>  
 
<br>  
  
 
<br>
 
<br>

Revision as of 11:18, 29 November 2011

APIs for embedded usage

Tutorials:- Stardust API's and Performing Queries.












































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































  • Process instances
  • Status of a process instance
  • History of a process

List data mappings of an activity




Back to the top