./waf doxygen will generate documentation in doc/html
diff --git a/uml/SyncApp.xmi b/uml/SyncApp.xmi
new file mode 100644
index 0000000..dc7ae7c
--- /dev/null
+++ b/uml/SyncApp.xmi
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XMI verified="false" xmi.version="1.2" timestamp="2012-03-05T17:06:10" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
+ <XMI.header>
+  <XMI.documentation>
+   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
+   <XMI.exporterVersion>1.5.8</XMI.exporterVersion>
+   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
+  </XMI.documentation>
+  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
+ </XMI.header>
+ <XMI.content>
+  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="Sync protocol">
+   <UML:Namespace.ownedElement>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="interface" name="interface"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" name="realize"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BE2" name="onRemoteAdd"/>
+    <UML:Stereotype visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="enum" name="enum"/>
+    <UML:Model stereotype="folder" visibility="private" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
+     <UML:Namespace.ownedElement>
+      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
+       <UML:Namespace.ownedElement>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QQR7kfX34MVj" name="string"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="hJaQtiZgGB3E" name="Xml"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TWcMQGl7c5Mr" name="Hash"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" name="Iterator">
+         <UML:ModelElement.templateParameter>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2GFaGoXGQTI2" name="Leaf"/>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ujp5B8eBw22x" name="NameInfo"/>
+         </UML:ModelElement.templateParameter>
+        </UML:Class>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="YJP1lfK5EJLB" name="NamePrefix"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="E7KaZlL1ahny" name="Container">
+         <UML:ModelElement.templateParameter>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="E7KaZlL1ahny" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6UvWFn5sK2l7" name="Diff"/>
+          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="E7KaZlL1ahny" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ueaLrohmrzGP" name="Name"/>
+         </UML:ModelElement.templateParameter>
+        </UML:Class>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="1r071TaNsnKd" name="Callback"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" elementReference="E7KaZlL1ahny" isRoot="false" xmi.id="lzO9BgBP3CRt" name="Container&lt;Diff>"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="BT1dasCLYQM0" name="undef"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ddukTtV6pqzE" name="int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KWnPtausBOOo" name="char"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="YE2L9n0QRUOo" name="bool"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="qSE8JVjBhwol" name="float"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="nLexWqKlaSCm" name="double"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KcZ9WFaDgjmX" name="short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ixY6wxnkSeFq" name="long"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="p8zBWRVkfzNX" name="unsigned int"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="MwbslzPjHGv1" name="unsigned short"/>
+        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ZLZ7IvH812um" name="unsigned long"/>
+        <UML:Class visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="BKJzhsgNzEAw" name="SeqNo">
+         <UML:Classifier.feature>
+          <UML:Attribute visibility="public" isSpecification="false" xmi.id="XaVLlNAHUCNE" type="p8zBWRVkfzNX" name="session"/>
+          <UML:Attribute visibility="public" isSpecification="false" xmi.id="O2hIL2AyddSz" type="p8zBWRVkfzNX" name="seq"/>
+         </UML:Classifier.feature>
+        </UML:Class>
+       </UML:Namespace.ownedElement>
+      </UML:Package>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="SyncCcnx">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B69" type="1r071TaNsnKd" name="onRemoteAdd"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8A" name="construct">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="MVlqMzf56kir" type="YJP1lfK5EJLB" value="" name="broadcastPrefix"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8E" name="addFromLocal">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="sPKgGyS8N1Qn" type="hJaQtiZgGB3E" value="" name="data"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B93" name="addFromRemote">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="MrVf8BHjpOH0" type="hJaQtiZgGB3E" value="" name="data"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+       <UML:Namespace.ownedElement>
+        <UML:Dependency visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BB4" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="&lt;&lt;use>>"/>
+        <UML:Dependency visibility="public" isSpecification="false" namespace="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C52" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="&lt;&lt;use>>"/>
+       </UML:Namespace.ownedElement>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="StateManager">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="state"/>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="localState"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B76" name="advance">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="pel2EG2Nlo0i" type="hJaQtiZgGB3E" value="" name="states"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7B" name="find">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="luVR7bZn692c" type="TWcMQGl7c5Mr" value="" name="stateDigest"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7F" name="head">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B80" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B81" name="logState">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B83" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="next"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="NameManager">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C53" name="add">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C55" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="name"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C56" name="size">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C57" type="p8zBWRVkfzNX"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C58" name="begin">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C59" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5B" name="end">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5D" name="find">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60"/>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5F" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="name"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Interface stereotype="interface" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="NameInfo">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C31" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C32" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C33" name="toString">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C34" type="QQR7kfX34MVj"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Interface>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" name="CcnxNameInfo"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" name="Ns3NameInfo"/>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="Leaf">
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="info"/>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B" type="BKJzhsgNzEAw" name="seq"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD0" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD1" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="DiffState">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C02"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9C" type="TWcMQGl7c5Mr" name="digest"/>
+        <UML:Attribute visibility="private" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="next"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBB" name="getDigest"/>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9F" name="setNext">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA3" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="successor"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA1" name="setDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="public" isSpecification="false" xmi.id="Ead4YXntX2OO" type="TWcMQGl7c5Mr" value="" name="digest"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBD" name="diff">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBE" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="PzgOCbeFLA1T" name="operator+=">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="GvYKz3fhkzBq" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" value="" name="state"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="FullState">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C03"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA8" name="getDigest">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter kind="return" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA9" type="TWcMQGl7c5Mr"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="BT1dasCLYQM0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD2" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="BT1dasCLYQM0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD4" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C02" parent="BT1dasCLYQM0" name=""/>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C03" parent="BT1dasCLYQM0" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C04" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" name=""/>
+      <UML:Abstraction stereotype="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD3" visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C06" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C1E" name="ordered container">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C1F" type="BT1dasCLYQM0" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..-1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C20" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C36" name="info">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C37" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C38" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3D" name="-names">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3E" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..-1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3F" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C44" name="-log">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C45" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="aggregate"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="*" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C46" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4B" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4C" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="2..2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C4D" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C64" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C65" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="0..1" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C66" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" xmi.id="LoR3G0lvLGQ5" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="jECQdHOsAJCQ" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="RcXKrMNiowU4" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="rtoKiqqL59wu" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" xmi.id="g96OzTyChWfi" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Enumeration stereotype="enum" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="uzhoaBpepAbw" name="Operation">
+       <UML:EnumerationLiteral visibility="public" isSpecification="false" namespace="uzhoaBpepAbw" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="lWMWe0RVKAhy" name="UPDATE"/>
+       <UML:EnumerationLiteral visibility="public" isSpecification="false" namespace="uzhoaBpepAbw" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="1ihBo9LAKK5z" name="REMOVE"/>
+      </UML:Enumeration>
+      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="eNibqErmztjN" name="DiffLeaf">
+       <UML:GeneralizableElement.generalization>
+        <UML:Generalization xmi.idref="hmPEfJm4iOHE"/>
+       </UML:GeneralizableElement.generalization>
+       <UML:Classifier.feature>
+        <UML:Attribute visibility="public" isSpecification="false" xmi.id="3IW7VdmMMt4z" type="uzhoaBpepAbw" name="type"/>
+       </UML:Classifier.feature>
+      </UML:Class>
+      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="eNibqErmztjN" xmi.id="hmPEfJm4iOHE" parent="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name=""/>
+      <UML:Interface stereotype="interface" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="true" isLeaf="false" isRoot="false" xmi.id="EcUG7Cv4VJRZ" name="State">
+       <UML:Classifier.feature>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="RPP7OKzy2KqV" name="update">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="JuuBKhfoidZw" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="info"/>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="eJSqOntJzB7C" type="BKJzhsgNzEAw" value="" name="seq"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="J6UUFnkhXKu8" name="remove">
+         <UML:BehavioralFeature.parameter>
+          <UML:Parameter visibility="private" isSpecification="false" xmi.id="k2iiTcdx6xqc" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" value="" name="info"/>
+         </UML:BehavioralFeature.parameter>
+        </UML:Operation>
+       </UML:Classifier.feature>
+      </UML:Interface>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="EcUG7Cv4VJRZ" xmi.id="E9T96r5jZYF1" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name=""/>
+      <UML:Abstraction visibility="public" isSpecification="false" namespace="Logical View" supplier="EcUG7Cv4VJRZ" xmi.id="ITGTixAFzhNl" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="qnsHSYZXTfFi" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="LawSqEFpzhlp" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="8PGVgz0icvIg" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="7r4R2jQXqKf4" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="uXI4NwzPrSfC" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="YAE7ZBvEirwg" type="eNibqErmztjN" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="2woppjMlWfIL" name="#leafs">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="1" xmi.id="VILR5ZttV01x" type="EcUG7Cv4VJRZ" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" multiplicity="*" xmi.id="DwTyjKLGd388" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+      <UML:Dependency visibility="public" isSpecification="false" namespace="Logical View" supplier="eNibqErmztjN" xmi.id="EZZOxz2EHPXq" client="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" name=""/>
+      <UML:Association visibility="public" isSpecification="false" namespace="Logical View" xmi.id="OpMKxbqIfYUR" name="">
+       <UML:Association.connection>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="4PNhzwJfBzmC" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" name="" aggregation="composite"/>
+        <UML:AssociationEnd changeability="changeable" visibility="public" isNavigable="true" isSpecification="false" xmi.id="aeSFVfbfKN63" type="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" name="" aggregation="none"/>
+       </UML:Association.connection>
+      </UML:Association>
+     </UML:Namespace.ownedElement>
+     <XMI.extension xmi.extender="umbrello">
+      <diagrams>
+       <diagram showopsig="1" linecolor="#ff0000" snapx="10" showattribassocs="1" snapy="10" linewidth="0" showattsig="1" isopen="1" showpackage="1" showpubliconly="0" showstereotype="1" name="class diagram" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" canvasheight="867" canvaswidth="1415" localid="-1" snapcsgrid="0" showgrid="1" showops="1" griddotcolor="#000000" backgroundcolor="#ffffff" usefillcolor="1" fillcolor="#ffffc0" zoom="100" xmi.id="fObcvBAs2uoO" documentation="" showscope="1" snapgrid="0" showatts="1" type="1">
+        <widgets>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="457" showattsigs="601" showstereotype="1" y="124" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="239" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" showscope="1" height="112" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="277" showattsigs="601" showstereotype="1" y="10" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="275" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" showscope="1" height="80" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="329" showattsigs="601" showstereotype="1" y="333" showattributes="1" font="Lucida Grande,13,-1,0,75,0,0,0,0,0" width="138" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" showscope="1" height="40" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="744" showattsigs="601" showstereotype="1" y="309" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="210" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" showscope="1" height="128" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="20" showattsigs="601" showstereotype="1" y="600" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="101" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" showscope="1" height="32" showopsigs="601"/>
+         <interfacewidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="60" showstereotype="1" y="407" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" drawascircle="0" width="138" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" showscope="1" height="72" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="140" showattsigs="601" showstereotype="1" y="600" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="107" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" showscope="1" height="32" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="349" showattsigs="601" showstereotype="1" y="676" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="138" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" showscope="1" height="64" showopsigs="601"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="338" showattsigs="601" showstereotype="1" y="807" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="163" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="BKJzhsgNzEAw" showscope="1" height="56" showopsigs="601"/>
+         <enumwidget width="73" showstereotype="1" x="854" y="781" usesdiagramusefillcolor="0" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffffc0" height="64" linecolor="#ff0000" xmi.id="uzhoaBpepAbw" showpackage="1" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0"/>
+         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="837" showattsigs="601" showstereotype="1" y="687" showattributes="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" width="127" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="eNibqErmztjN" showscope="1" height="40" showopsigs="601"/>
+         <notewidget width="201" showstereotype="1" x="997" noteType="0" y="282" usesdiagramusefillcolor="1" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffc0ff" height="247" linecolor="none" xmi.id="TE7CLedhNRvT" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" text="diff() returns Diff object with aggregated list of DiffLeaf's from all children Diff's:&#xa;&#xa;Diff ret;&#xa;Diff * state = next;&#xa;while (ret != 0)&#xa;{&#xa;  ret += *state;&#xa;  state = state->next;&#xa;}&#xa;&#xa;return ret;"/>
+         <interfacewidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="513" showstereotype="1" y="488" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" drawascircle="0" width="257" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="EcUG7Cv4VJRZ" showscope="1" height="72" showopsigs="601"/>
+         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="none" showoperations="1" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="155" showattsigs="601" showstereotype="1" y="122" showattributes="1" font="Lucida Grande,13,-1,5,50,0,0,0,0,0" width="239" isinstance="0" usefillcolor="1" fillcolor="#ffffc0" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" showscope="1" height="104" showopsigs="601"/>
+         <notewidget width="291" showstereotype="1" x="3" noteType="0" y="662" usesdiagramusefillcolor="1" usesdiagramfillcolor="0" isinstance="0" fillcolor="#ffc0ff" height="174" linecolor="none" xmi.id="Wdw0pjdPcgtq" usefillcolor="1" linewidth="none" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" text="The assumption is that session and seq are strictly ordered.  &#xa;&#xa;(session1, seq1) > (session2, seq2)&#xa;if&#xa;&#xa;session1 > session2&#xa;or&#xa;session1 == session2 &amp;&amp; seq1 > seq2&#xa;&#xa;&#xa;&#xa;"/>
+        </widgets>
+        <messages/>
+        <associations>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="516" starty="236"/>
+           <endpoint endx="375" endy="333"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="367" showstereotype="1" y="288" text="state" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="46" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="UDeI9EAqmwnt" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="2" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="576" starty="236"/>
+           <endpoint endx="421" endy="333"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="437" showstereotype="1" y="295" text="localState" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="76" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="uBHVhUISfms1" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="3" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" linecolor="none" totalcounta="4" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C44" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="3" type="501" linewidth="none">
+          <linepath>
+           <startpoint startx="636" starty="236"/>
+           <endpoint endx="814" endy="309"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="690" showstereotype="1" y="241" text="-log" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="35" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="esL6eatRu5Ty" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="664" showstereotype="1" y="236" text="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="16" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="hJuN9Zu5kJFI" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="787" showstereotype="1" y="281" text="*" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="14" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="e3Kf3fxUc8H8" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="796" starty="309"/>
+           <endpoint endx="901" endy="309"/>
+           <point x="794" y="259"/>
+           <point x="894" y="259"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="858" showstereotype="1" y="289" text="next" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="-" role="710" width="44" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="FhaxTWgPwKmB" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C06" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="70" starty="600"/>
+           <endpoint endx="94" endy="479"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C04" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="193" starty="600"/>
+           <endpoint endx="129" endy="479"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" linecolor="none" totalcounta="3" xmi.id="jECQdHOsAJCQ" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="460" starty="90"/>
+           <endpoint endx="576" endy="124"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="3" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="3" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="4" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="395" starty="676"/>
+           <endpoint endx="163" endy="479"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="269" showstereotype="1" y="545" text="info" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="43" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="4OxBCMDwkJQd" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B" changeabilityB="900" widgetbid="BKJzhsgNzEAw" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="418" starty="740"/>
+           <endpoint endx="419" endy="807"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="382" showstereotype="1" y="752" text="seq" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="40" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="2UO4OJ0p6FD4" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="eNibqErmztjN" linecolor="none" totalcounta="2" xmi.id="hmPEfJm4iOHE" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" totalcountb="2" type="500" linewidth="none">
+          <linepath>
+           <startpoint startx="837" starty="707"/>
+           <endpoint endx="487" endy="708"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="eNibqErmztjN" visibilityB="0" linecolor="none" changeabilityA="900" totalcounta="2" xmi.id="3IW7VdmMMt4z" changeabilityB="900" widgetbid="uzhoaBpepAbw" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="900" starty="727"/>
+           <endpoint endx="890" endy="781"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="896" showstereotype="1" y="732" text="type" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="+" role="710" width="45" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="ibWIie6HmzHZ" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="TE7CLedhNRvT" visibilityB="0" roleBdoc="" roleAdoc="" linecolor="none" changeabilityA="900" totalcounta="2" changeabilityB="900" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" totalcountb="2" type="513" documentation="" linewidth="none">
+          <linepath>
+           <startpoint startx="997" starty="405"/>
+           <endpoint endx="954" endy="373"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65" linecolor="none" totalcounta="2" xmi.id="E9T96r5jZYF1" widgetbid="EcUG7Cv4VJRZ" totalcountb="3" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="398" starty="373"/>
+           <endpoint endx="598" endy="488"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" linecolor="none" totalcounta="3" xmi.id="ITGTixAFzhNl" widgetbid="EcUG7Cv4VJRZ" totalcountb="3" type="511" linewidth="none">
+          <linepath>
+           <startpoint startx="814" starty="437"/>
+           <endpoint endx="684" endy="488"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="2" widgetaid="EcUG7Cv4VJRZ" linecolor="none" totalcounta="2" xmi.id="2woppjMlWfIL" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63" totalcountb="3" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="641" starty="560"/>
+           <endpoint endx="441" endy="676"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="541" showstereotype="1" y="618" text="#leafs" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="46" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="Fg8ExQ98umig" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="635" showstereotype="1" y="570" text="1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="16" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="bIYcYJNrlWhB" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="432" showstereotype="1" y="652" text="*" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="14" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="PqjThqSOkykD" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="2" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64" linecolor="none" totalcounta="3" xmi.id="EZZOxz2EHPXq" widgetbid="eNibqErmztjN" totalcountb="2" type="502" linewidth="none">
+          <linepath>
+           <startpoint startx="884" starty="437"/>
+           <endpoint endx="900" endy="687"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" linecolor="none" totalcounta="2" xmi.id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C3D" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="274" starty="226"/>
+           <endpoint endx="129" endy="407"/>
+          </linepath>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="185" showstereotype="1" y="273" text="-names" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="703" width="57" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="Apk1HPd4DY5k" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="270" showstereotype="1" y="232" text="1..1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="701" width="33" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="BXfTbEneZhSh" height="20"/>
+          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" usesdiagramusefillcolor="1" x="95" showstereotype="1" y="380" text="0..-1" font="Lucida Grande,13,-1,0,50,0,0,0,0,0" pretext="" role="702" width="40" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="8bxVqmacI5us" height="20"/>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" widgetaid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C" linecolor="none" totalcounta="3" xmi.id="OpMKxbqIfYUR" widgetbid="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E" totalcountb="2" type="510" linewidth="none">
+          <linepath>
+           <startpoint startx="368" starty="90"/>
+           <endpoint endx="274" endy="122"/>
+          </linepath>
+         </assocwidget>
+         <assocwidget indexa="1" indexb="1" visibilityA="0" widgetaid="Wdw0pjdPcgtq" visibilityB="0" roleBdoc="" roleAdoc="" linecolor="none" changeabilityA="900" totalcounta="2" changeabilityB="900" widgetbid="BKJzhsgNzEAw" totalcountb="2" type="513" documentation="" linewidth="none">
+          <linepath>
+           <startpoint startx="294" starty="749"/>
+           <endpoint endx="338" endy="835"/>
+          </linepath>
+         </assocwidget>
+        </associations>
+       </diagram>
+      </diagrams>
+     </XMI.extension>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
+     <UML:Namespace.ownedElement/>
+    </UML:Model>
+   </UML:Namespace.ownedElement>
+  </UML:Model>
+ </XMI.content>
+ <XMI.extensions xmi.extender="umbrello">
+  <docsettings viewid="fObcvBAs2uoO" uniqueid="fJiA4FIrKsVC" documentation=""/>
+  <listview>
+   <listitem open="1" type="800" id="Views">
+    <listitem open="1" type="802" id="Use Case View"/>
+    <listitem open="1" type="801" id="Logical View">
+     <listitem open="1" type="807" id="fObcvBAs2uoO" label="class diagram"/>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5C">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B69"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8A"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B93"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B8E"/>
+     </listitem>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5D">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B6D"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B81"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BAD"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7F"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B7B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B76"/>
+     </listitem>
+     <listitem open="1" type="817" id="EcUG7Cv4VJRZ">
+      <listitem open="0" type="815" id="RPP7OKzy2KqV"/>
+      <listitem open="0" type="815" id="J6UUFnkhXKu8"/>
+     </listitem>
+     <listitem open="0" type="831" id="uzhoaBpepAbw">
+      <listitem open="0" type="839" id="lWMWe0RVKAhy"/>
+      <listitem open="0" type="839" id="1ihBo9LAKK5z"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B62"/>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B5E">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C56"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5D"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C5B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C58"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C53"/>
+     </listitem>
+     <listitem open="0" type="817" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B60">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C33"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C31"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B63">
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C0B"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C08"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BD0"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B65">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA8"/>
+     </listitem>
+     <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B64">
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9F"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BA1"/>
+      <listitem open="0" type="815" id="PzgOCbeFLA1T"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000C6B"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBB"/>
+      <listitem open="1" type="814" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B9C"/>
+      <listitem open="1" type="815" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BBD"/>
+     </listitem>
+     <listitem open="1" type="813" id="eNibqErmztjN">
+      <listitem open="0" type="814" id="3IW7VdmMMt4z"/>
+     </listitem>
+     <listitem open="0" type="830" id="Datatypes">
+      <listitem open="0" type="829" id="MwbslzPjHGv1"/>
+      <listitem open="0" type="829" id="ZLZ7IvH812um"/>
+      <listitem open="0" type="829" id="p8zBWRVkfzNX"/>
+      <listitem open="0" type="829" id="BT1dasCLYQM0"/>
+      <listitem open="1" type="829" id="QQR7kfX34MVj"/>
+      <listitem open="0" type="829" id="KcZ9WFaDgjmX"/>
+      <listitem open="0" type="829" id="ixY6wxnkSeFq"/>
+      <listitem open="0" type="829" id="ddukTtV6pqzE"/>
+      <listitem open="0" type="829" id="qSE8JVjBhwol"/>
+      <listitem open="0" type="829" id="nLexWqKlaSCm"/>
+      <listitem open="0" type="829" id="KWnPtausBOOo"/>
+      <listitem open="0" type="829" id="YE2L9n0QRUOo"/>
+      <listitem open="1" type="829" id="hJaQtiZgGB3E"/>
+      <listitem open="0" type="813" id="BKJzhsgNzEAw">
+       <listitem open="0" type="814" id="XaVLlNAHUCNE"/>
+       <listitem open="0" type="814" id="O2hIL2AyddSz"/>
+      </listitem>
+      <listitem open="1" type="829" id="YJP1lfK5EJLB"/>
+      <listitem open="0" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000BF5">
+       <listitem open="0" type="816" id="ujp5B8eBw22x"/>
+       <listitem open="0" type="816" id="2GFaGoXGQTI2"/>
+      </listitem>
+      <listitem open="1" type="829" id="TWcMQGl7c5Mr"/>
+      <listitem open="1" type="829" id="lzO9BgBP3CRt"/>
+      <listitem open="0" type="813" id="E7KaZlL1ahny">
+       <listitem open="0" type="816" id="ueaLrohmrzGP"/>
+       <listitem open="0" type="816" id="6UvWFn5sK2l7"/>
+      </listitem>
+      <listitem open="0" type="813" id="1r071TaNsnKd"/>
+     </listitem>
+     <listitem open="1" type="813" id="-125--77--46-97--2f781ed3:135c5d2d978:-8000:0000000000000B61"/>
+    </listitem>
+    <listitem open="1" type="836" id="Entity Relationship Model"/>
+    <listitem open="1" type="827" id="Deployment View"/>
+    <listitem open="1" type="821" id="Component View"/>
+   </listitem>
+  </listview>
+  <codegeneration>
+   <codegenerator language="C++"/>
+  </codegeneration>
+ </XMI.extensions>
+</XMI>