<?xml version="1.0" encoding="UTF-8"?>
<XPD:PROJECT xmlns:XPD="http://www.staruml.com" version="1">
<XPD:HEADER>
<XPD:SUBUNITS>
</XPD:SUBUNITS>
<XPD:PROFILES>
</XPD:PROFILES>
</XPD:HEADER>
<XPD:BODY>
<XPD:OBJ name="DocumentElement" type="UMLProject" guid="0e+rkJV82EOMm0PG1CsObwAA">
<XPD:ATTR name="Title" type="string">EA Model</XPD:ATTR>
<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="IIHSfGdyFkGKzX07yxilsAAA">
<XPD:ATTR name="Name" type="string">Class Model</XPD:ATTR>
<XPD:REF name="Namespace">0e+rkJV82EOMm0PG1CsObwAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">5</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLPackage" guid="qyuB9sYVeki9jxkrq6jdjAAA">
<XPD:ATTR name="Name" type="string">Decorator</XPD:ATTR>
<XPD:REF name="Namespace">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedDiagrams" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedDiagrams[0]" type="UMLClassDiagram" guid="ILW0SdOrvk6u69Ubae7s/gAA">
<XPD:ATTR name="Name" type="string">Decorator</XPD:ATTR>
<XPD:REF name="DiagramOwner">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="Fv6gNxx6ok6aLdByEZzlpwAA">
<XPD:REF name="Diagram">ILW0SdOrvk6u69Ubae7s/gAA</XPD:REF>
<XPD:ATTR name="#OwnedViews" type="integer">10</XPD:ATTR>
<XPD:OBJ name="OwnedViews[0]" type="UMLClassView" guid="6vpdGU9y4EuNQalu78QBkAAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">256</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">28</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">140</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">68</XPD:ATTR>
<XPD:REF name="Model">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="0QmIuN6YqECq2HJxVtDQxQAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="2fET0dkUC0af5dYnIWsmYAAA">
<XPD:ATTR name="FontStyle" type="integer">3</XPD:ATTR>
<XPD:ATTR name="Text" type="string">Component</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="GDc2s9R+yUOSfw4oDCffWQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="Y5nHa2Yi5kuTHR8sKfYptAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="PLIh+tu0RUyqcvgbIWSYZQAA">
<XPD:REF name="Model">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="sX82o7szAEu2vJ3H0reheQAA">
<XPD:REF name="Model">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="2Tfyw8V0IEyQqcn9uO3OjwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:REF name="Model">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[1]" type="UMLClassView" guid="tT4U0lDhhEOhI9M+X8UOCQAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">72</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">196</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">197</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">68</XPD:ATTR>
<XPD:REF name="Model">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="gj3cojZanUOhfOBEK17kFQAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="0Eb4ZgJJKEm418CKd3GWawAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
<XPD:ATTR name="Text" type="string">ConcreteComponent</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="r2Qx17nB40OeAbJ1lafUYgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="RoK52pZYrUeUXSv8a4YhJQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="KCGROzcae0eQHnLBybNDfQAA">
<XPD:REF name="Model">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="RYT5WI/zLEanE7+Nks0cVQAA">
<XPD:REF name="Model">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="mmK/C8YNV0qj/DyH1W8IygAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:REF name="Model">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[2]" type="UMLGeneralizationView" guid="d9PwQMM9NEGVhLsKhB4kzgAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">200,196;294,95</XPD:ATTR>
<XPD:REF name="Model">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
<XPD:REF name="Head">6vpdGU9y4EuNQalu78QBkAAA</XPD:REF>
<XPD:REF name="Tail">tT4U0lDhhEOhI9M+X8UOCQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="T0vODdejX0aH/WSdoWARWQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="MT9fzXtfskeBufT9uJoADAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="svWMIdaFkE2X7y4RFauT9QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[3]" type="UMLClassView" guid="9vufGhx+oEehIP5bN4paewAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">408</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">188</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">140</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">68</XPD:ATTR>
<XPD:REF name="Model">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="+fMIL5IQnEq4jznE+DknFAAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="OlDvK+RKr06Mkr9PnQXKTAAA">
<XPD:ATTR name="FontStyle" type="integer">3</XPD:ATTR>
<XPD:ATTR name="Text" type="string">Decorator</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="eoaFCQ1Kak6dknNRbhSIfQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="ePEGPKhF8EO+E9owqpbdLQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="zBeOdjWEOkSmLdQzu625XAAA">
<XPD:REF name="Model">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="FCqlgo5kyk6QZ11zdwc4/AAA">
<XPD:REF name="Model">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="7rHvbJiYnUSUkov9poBJ5gAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:REF name="Model">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[4]" type="UMLAssociationView" guid="pcwmuS8wMkCIUmkTMdYlZwAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">357,95;446,188</XPD:ATTR>
<XPD:REF name="Model">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
<XPD:REF name="Head">9vufGhx+oEehIP5bN4paewAA</XPD:REF>
<XPD:REF name="Tail">6vpdGU9y4EuNQalu78QBkAAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="waujLm/ytUi+uZNId6KYrAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="G78T+2y2FE27RkmNtTLAPwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="TMYCQS/pGUCNarO1z05WQAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="HeadRoleNameLabel" type="EdgeLabelView" guid="GknCVHdG/kaVLxUF/H2TwQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
<XPD:REF name="Model">Vuw3VzuujUOgwPUgrqD3rwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TailRoleNameLabel" type="EdgeLabelView" guid="PUCSp9m5wk6R6DTmnjXevwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
<XPD:REF name="Model">ZumnMcCQ+UyH/w0xUt5eJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="HeadMultiplicityLabel" type="EdgeLabelView" guid="F2P4M6OlUEG1lnP1iOmI3QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
<XPD:REF name="Model">Vuw3VzuujUOgwPUgrqD3rwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TailMultiplicityLabel" type="EdgeLabelView" guid="8DnX4u+PG0CCE5PHvwKWJgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.523598775598299</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">25</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
<XPD:REF name="Model">ZumnMcCQ+UyH/w0xUt5eJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="HeadPropertyLabel" type="EdgeLabelView" guid="5qezJ3IkTk6+XHC/Ko3d0QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epHead</XPD:ATTR>
<XPD:REF name="Model">Vuw3VzuujUOgwPUgrqD3rwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TailPropertyLabel" type="EdgeLabelView" guid="+7FFLoxgYk++uPFvi0DhmgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">0.785398163397448</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40</XPD:ATTR>
<XPD:ATTR name="EdgePosition" type="EdgePositionKind">epTail</XPD:ATTR>
<XPD:REF name="Model">ZumnMcCQ+UyH/w0xUt5eJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="HeadQualifierCompartment" type="UMLQualifierCompartmentView" guid="hK2FPdjFpkCqHlvLu7fi0wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1040</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1024</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
<XPD:REF name="Model">Vuw3VzuujUOgwPUgrqD3rwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TailQualifierCompartment" type="UMLQualifierCompartmentView" guid="HiZ7JxYYVEaiGwR7v2eA5AAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">-1040</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">-1024</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">50</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">8</XPD:ATTR>
<XPD:REF name="Model">ZumnMcCQ+UyH/w0xUt5eJQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[5]" type="UMLGeneralizationView" guid="b4D5hjvR1kqoG1yqucjrggAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">446,188;357,95</XPD:ATTR>
<XPD:REF name="Model">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
<XPD:REF name="Head">6vpdGU9y4EuNQalu78QBkAAA</XPD:REF>
<XPD:REF name="Tail">9vufGhx+oEehIP5bN4paewAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="L2CPsULp/kmi/vOtZne9FAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="IroEInwsE0KkmyzpMKf3jwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="hz8PUl4K+U+PgieKq0odAAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[6]" type="UMLClassView" guid="uWKpN+yaZ0ewbRAAdBgllwAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">224</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">348</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">208</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">87</XPD:ATTR>
<XPD:REF name="Model">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="Q5OBGLLthUGo31aiLeHBVgAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="5UEmgQ1rr0iGSt/duGtPZwAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
<XPD:ATTR name="Text" type="string">ConcreteDecoratorA</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="gXURMGajSkeHlDmiWPvz6wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="1HiNiziW9EudWKCNEG23EgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="ggBeJ0AXWU+dwST1czgbgAAA">
<XPD:REF name="Model">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="cxi9n3uHfk6Ba/FouSrFCAAA">
<XPD:REF name="Model">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="HsxkdR8zXEWyqTxtdf/j5wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:REF name="Model">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[7]" type="UMLGeneralizationView" guid="/LX5HmRUukaGUAGMgu3L7gAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">365,348;447,255</XPD:ATTR>
<XPD:REF name="Model">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
<XPD:REF name="Head">9vufGhx+oEehIP5bN4paewAA</XPD:REF>
<XPD:REF name="Tail">uWKpN+yaZ0ewbRAAdBgllwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="C+N8/vKosUOpG4jfDb8AaQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="ewlAZ5uht0KBiz7SF3tSWQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="oF794tGoyUaqnEHwEEPXHwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[8]" type="UMLClassView" guid="wrAzJQRSJEeXCoTmM/QNAQAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">544</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">348</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">208</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">87</XPD:ATTR>
<XPD:REF name="Model">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="DJ8XKnzZHU61HT1uSO4S+AAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="jHKVImzAoEOZfOQIc9NvfwAA">
<XPD:ATTR name="FontStyle" type="integer">1</XPD:ATTR>
<XPD:ATTR name="Text" type="string">ConcreteDecoratorB</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="ZHWWFV13j0ayfVizZSyQZgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="3ogYpNjx70+q3/o1K0sMYwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="AttributeCompartment" type="UMLAttributeCompartmentView" guid="DlVc+oe0KkqXya89zgbMhgAA">
<XPD:REF name="Model">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OperationCompartment" type="UMLOperationCompartmentView" guid="nr5g39OwT0+Lu03rQZ+iCAAA">
<XPD:REF name="Model">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TemplateParameterCompartment" type="UMLTemplateParameterCompartmentView" guid="nLbeIUzfu0mtxmA0ZCadUQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:REF name="Model">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews[9]" type="UMLGeneralizationView" guid="2i34RPZv/0av4IllqvCbTgAA">
<XPD:ATTR name="FillColor" type="string">clCream</XPD:ATTR>
<XPD:ATTR name="FontFace" type="string">文泉驿等宽微米黑</XPD:ATTR>
<XPD:ATTR name="FontSize" type="integer">12</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">604,348;511,255</XPD:ATTR>
<XPD:REF name="Model">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
<XPD:REF name="Head">9vufGhx+oEehIP5bN4paewAA</XPD:REF>
<XPD:REF name="Tail">wrAzJQRSJEeXCoTmM/QNAQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="9e7R8cQjCES/3b77rHgLCAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="i02w6zJbnUKJb/ug6+QE/wAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="YYBrUtE3eU2Z+lQpRtWFjwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1.5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
<XPD:ATTR name="#OwnedElements" type="integer">10</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="oGtcZtEYSkywr2PZ6ORdZwAA">
<XPD:ATTR name="Name" type="string">Component</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">6vpdGU9y4EuNQalu78QBkAAA</XPD:REF>
<XPD:REF name="Views[1]">PLIh+tu0RUyqcvgbIWSYZQAA</XPD:REF>
<XPD:REF name="Views[2]">sX82o7szAEu2vJ3H0reheQAA</XPD:REF>
<XPD:REF name="Views[3]">2Tfyw8V0IEyQqcn9uO3OjwAA</XPD:REF>
<XPD:ATTR name="#Specializations" type="integer">2</XPD:ATTR>
<XPD:REF name="Specializations[0]">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
<XPD:REF name="Specializations[1]">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="n2MLLYpVEUG5Rl6cxCN0QgAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">ZumnMcCQ+UyH/w0xUt5eJQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClass" guid="Xi7O7whhhUypAvpzAY1zhQAA">
<XPD:ATTR name="Name" type="string">ConcreteComponent</XPD:ATTR>
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">tT4U0lDhhEOhI9M+X8UOCQAA</XPD:REF>
<XPD:REF name="Views[1]">KCGROzcae0eQHnLBybNDfQAA</XPD:REF>
<XPD:REF name="Views[2]">RYT5WI/zLEanE7+Nks0cVQAA</XPD:REF>
<XPD:REF name="Views[3]">mmK/C8YNV0qj/DyH1W8IygAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">sNca6vMx2kuLnFXcIRwR7gAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="mHzgDdU3TE6rQ9CgBRq7cQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="bEcycBXAik+E/agZslJS3QAA">
<XPD:ATTR name="Name" type="string">Decorator</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">9vufGhx+oEehIP5bN4paewAA</XPD:REF>
<XPD:REF name="Views[1]">zBeOdjWEOkSmLdQzu625XAAA</XPD:REF>
<XPD:REF name="Views[2]">FCqlgo5kyk6QZ11zdwc4/AAA</XPD:REF>
<XPD:REF name="Views[3]">7rHvbJiYnUSUkov9poBJ5gAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">thd/RkrizU6XJsLFqRkDRQAA</XPD:REF>
<XPD:ATTR name="#Specializations" type="integer">2</XPD:ATTR>
<XPD:REF name="Specializations[0]">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
<XPD:REF name="Specializations[1]">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="O61OjfsfRkGdBAbgzPMLqAAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">Vuw3VzuujUOgwPUgrqD3rwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLClass" guid="+k4RCnoL20CdOqR7QIawWQAA">
<XPD:ATTR name="Name" type="string">ConcreteDecoratorA</XPD:ATTR>
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">uWKpN+yaZ0ewbRAAdBgllwAA</XPD:REF>
<XPD:REF name="Views[1]">ggBeJ0AXWU+dwST1czgbgAAA</XPD:REF>
<XPD:REF name="Views[2]">cxi9n3uHfk6Ba/FouSrFCAAA</XPD:REF>
<XPD:REF name="Views[3]">HsxkdR8zXEWyqTxtdf/j5wAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">lDWYcUPxe0a5I30z3W65YQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="t2tLL9fkuUGpzjzwzzh8SgAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Attributes" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="Lt+3qaVmCkK8UcU3URY7GwAA">
<XPD:ATTR name="Name" type="string">Attribute1</XPD:ATTR>
<XPD:REF name="Owner">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClass" guid="SQwMJqVPSEqS2atKKWTm4wAA">
<XPD:ATTR name="Name" type="string">ConcreteDecoratorB</XPD:ATTR>
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">wrAzJQRSJEeXCoTmM/QNAQAA</XPD:REF>
<XPD:REF name="Views[1]">DlVc+oe0KkqXya89zgbMhgAA</XPD:REF>
<XPD:REF name="Views[2]">nr5g39OwT0+Lu03rQZ+iCAAA</XPD:REF>
<XPD:REF name="Views[3]">nLbeIUzfu0mtxmA0ZCadUQAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">7hSdqC18zkWJk/KoFwzZJQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="XoInc6Zb9EOEPi9NXX80BQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="UtfjTuQQS0asEpZJxVB6JQAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="2UdTasSr4USXVhm0yLqlugAA">
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">pcwmuS8wMkCIUmkTMdYlZwAA</XPD:REF>
<XPD:REF name="Views[1]">waujLm/ytUi+uZNId6KYrAAA</XPD:REF>
<XPD:REF name="Views[2]">G78T+2y2FE27RkmNtTLAPwAA</XPD:REF>
<XPD:REF name="Views[3]">TMYCQS/pGUCNarO1z05WQAAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="ZumnMcCQ+UyH/w0xUt5eJQAA">
<XPD:REF name="Association">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
<XPD:REF name="Participant">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">PUCSp9m5wk6R6DTmnjXevwAA</XPD:REF>
<XPD:REF name="Views[1]">+7FFLoxgYk++uPFvi0DhmgAA</XPD:REF>
<XPD:REF name="Views[2]">8DnX4u+PG0CCE5PHvwKWJgAA</XPD:REF>
<XPD:REF name="Views[3]">HiZ7JxYYVEaiGwR7v2eA5AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="Vuw3VzuujUOgwPUgrqD3rwAA">
<XPD:REF name="Association">2UdTasSr4USXVhm0yLqlugAA</XPD:REF>
<XPD:REF name="Participant">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">GknCVHdG/kaVLxUF/H2TwQAA</XPD:REF>
<XPD:REF name="Views[1]">5qezJ3IkTk6+XHC/Ko3d0QAA</XPD:REF>
<XPD:REF name="Views[2]">F2P4M6OlUEG1lnP1iOmI3QAA</XPD:REF>
<XPD:REF name="Views[3]">hK2FPdjFpkCqHlvLu7fi0wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[6]" type="UMLGeneralization" guid="sNca6vMx2kuLnFXcIRwR7gAA">
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:REF name="Child">Xi7O7whhhUypAvpzAY1zhQAA</XPD:REF>
<XPD:REF name="Parent">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">d9PwQMM9NEGVhLsKhB4kzgAA</XPD:REF>
<XPD:REF name="Views[1]">T0vODdejX0aH/WSdoWARWQAA</XPD:REF>
<XPD:REF name="Views[2]">MT9fzXtfskeBufT9uJoADAAA</XPD:REF>
<XPD:REF name="Views[3]">svWMIdaFkE2X7y4RFauT9QAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[7]" type="UMLGeneralization" guid="thd/RkrizU6XJsLFqRkDRQAA">
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:REF name="Child">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
<XPD:REF name="Parent">oGtcZtEYSkywr2PZ6ORdZwAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">b4D5hjvR1kqoG1yqucjrggAA</XPD:REF>
<XPD:REF name="Views[1]">L2CPsULp/kmi/vOtZne9FAAA</XPD:REF>
<XPD:REF name="Views[2]">IroEInwsE0KkmyzpMKf3jwAA</XPD:REF>
<XPD:REF name="Views[3]">hz8PUl4K+U+PgieKq0odAAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[8]" type="UMLGeneralization" guid="lDWYcUPxe0a5I30z3W65YQAA">
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:REF name="Child">+k4RCnoL20CdOqR7QIawWQAA</XPD:REF>
<XPD:REF name="Parent">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">/LX5HmRUukaGUAGMgu3L7gAA</XPD:REF>
<XPD:REF name="Views[1]">C+N8/vKosUOpG4jfDb8AaQAA</XPD:REF>
<XPD:REF name="Views[2]">ewlAZ5uht0KBiz7SF3tSWQAA</XPD:REF>
<XPD:REF name="Views[3]">oF794tGoyUaqnEHwEEPXHwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[9]" type="UMLGeneralization" guid="7hSdqC18zkWJk/KoFwzZJQAA">
<XPD:REF name="Namespace">qyuB9sYVeki9jxkrq6jdjAAA</XPD:REF>
<XPD:REF name="Child">SQwMJqVPSEqS2atKKWTm4wAA</XPD:REF>
<XPD:REF name="Parent">bEcycBXAik+E/agZslJS3QAA</XPD:REF>
<XPD:ATTR name="#Views" type="integer">4</XPD:ATTR>
<XPD:REF name="Views[0]">2i34RPZv/0av4IllqvCbTgAA</XPD:REF>
<XPD:REF name="Views[1]">9e7R8cQjCES/3b77rHgLCAAA</XPD:REF>
<XPD:REF name="Views[2]">i02w6zJbnUKJb/ug6+QE/wAA</XPD:REF>
<XPD:REF name="Views[3]">YYBrUtE3eU2Z+lQpRtWFjwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLPackage" guid="U4LgjHgnbkCKASzOYhc9lQAA">
<XPD:ATTR name="Name" type="string">Observer</XPD:ATTR>
<XPD:REF name="Namespace">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">17</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="nnJCpUXpKU2l+orR1zEg4AAA">
<XPD:ATTR name="Name" type="string">DAGChangeManager</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="ClientDependencies[0]">Wae0noNep0ipUFZugG9GSAAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="gpmY2IoFOUSQHi87evOaOgAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">nnJCpUXpKU2l+orR1zEg4AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="zNCkoRk3qUq8Xd5Ai+FwxgAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">nnJCpUXpKU2l+orR1zEg4AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="o72LdIyhT0SnK45PvrOilgAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">nnJCpUXpKU2l+orR1zEg4AAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClass" guid="C0fOJUFhP0iEZc+30A1BAwAA">
<XPD:ATTR name="Name" type="string">ConcreteSubject</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="ClientDependencies[0]">Xoh78KkuIEuFzGUUPH8C+AAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">5</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="+2JNTiOFD0+epJzh1Vq2UQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="lhzq7gvL5U6SpE5pVyzQ2gAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="RijhN2l8AkaeqFRJu+jv1QAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[3]" type="UMLOperation" guid="BqatoQgM1UuiFSDERU5iiwAA">
<XPD:ATTR name="Name" type="string">Operation4</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[4]" type="UMLOperation" guid="DJkYizjro0CeQ0hRQwjTvQAA">
<XPD:ATTR name="Name" type="string">Operation5</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">Iz7tr+hD/EKMu35wG6JvewAA</XPD:REF>
<XPD:ATTR name="#Attributes" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="l+PohEEoYk2tO10aib1GwgAA">
<XPD:ATTR name="Name" type="string">Attribute1</XPD:ATTR>
<XPD:REF name="Owner">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="Ko2k2gfDNEyhJgqD7ZBRqAAA">
<XPD:ATTR name="Name" type="string">ConcreteObserver</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="ClientDependencies[0]">kMzIPWnjdUmjF/T7C7cXIQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="YETJ+uguzEmTWGsYSdzrkwAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">Ko2k2gfDNEyhJgqD7ZBRqAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">r0GQ0myDdUKLunM2rj//BwAA</XPD:REF>
<XPD:ATTR name="#Attributes" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="lptUipUohU6fPDC/xid0SAAA">
<XPD:ATTR name="Name" type="string">Attribute1</XPD:ATTR>
<XPD:REF name="Owner">Ko2k2gfDNEyhJgqD7ZBRqAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLInterface" guid="F504fMkWP0Czzper/3yiWAAA">
<XPD:ATTR name="Name" type="string">Subject</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="SupplierDependencies[0]">Xoh78KkuIEuFzGUUPH8C+AAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="aBzC3YMp9kOuti2uo6l17AAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="ex/olFlblUSoN92AipZanAAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="1Hb/pMQc50CSsXPM2+Tr6QAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">3</XPD:ATTR>
<XPD:REF name="Associations[0]">LPkmKIaN/UyHNZC4rj5hPgAA</XPD:REF>
<XPD:REF name="Associations[1]">ARVmy2it6kyYn6/cZ8xSXAAA</XPD:REF>
<XPD:REF name="Associations[2]">vdzfEWJKZUid7QtL6OWDAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLInterface" guid="V8TdJ1nzU0eih994nG8oSgAA">
<XPD:ATTR name="Name" type="string">Observer</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#SupplierDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="SupplierDependencies[0]">kMzIPWnjdUmjF/T7C7cXIQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="rhx2K7olS02XwTNVmJqiaQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">V8TdJ1nzU0eih994nG8oSgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">2</XPD:ATTR>
<XPD:REF name="Associations[0]">CLlHLMVzO0CiNHg+gMdkagAA</XPD:REF>
<XPD:REF name="Associations[1]">jwNNb7xoHEmlOsfpy6mGogAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLInterface" guid="xHg7ryOjDEWxFw1GeBUuWQAA">
<XPD:ATTR name="Name" type="string">ChangeManager</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#SupplierDependencies" type="integer">2</XPD:ATTR>
<XPD:REF name="SupplierDependencies[0]">Wae0noNep0ipUFZugG9GSAAA</XPD:REF>
<XPD:REF name="SupplierDependencies[1]">51j3vBFSwkaHXvt2G06JTwAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="rdahzzVC/0ioXUFFzjco5wAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="PGby6ctKUEmgSitB+INHFAAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="9yuBKUQV7kGsOiich00VCAAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">3</XPD:ATTR>
<XPD:REF name="Associations[0]">dpvAoQzlM0WlVFOafW1j8AAA</XPD:REF>
<XPD:REF name="Associations[1]">wrTxvEywZkSZWSfG5Ecz1AAA</XPD:REF>
<XPD:REF name="Associations[2]">oLGgDVjLHUKkjQZMGWFwNAAA</XPD:REF>
<XPD:ATTR name="#Attributes" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Attributes[0]" type="UMLAttribute" guid="EZdfh/VAIEiYNZAjNrcDSQAA">
<XPD:ATTR name="Name" type="string">Attribute1</XPD:ATTR>
<XPD:REF name="Owner">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[6]" type="UMLClass" guid="e9HDD38xcU2866O0xBWebAAA">
<XPD:ATTR name="Name" type="string">SimpleChangeManager</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#ClientDependencies" type="integer">1</XPD:ATTR>
<XPD:REF name="ClientDependencies[0]">51j3vBFSwkaHXvt2G06JTwAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="87LjszOy60OXGuxjo/1lGgAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">e9HDD38xcU2866O0xBWebAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="nz7258pkH0SkKbAQPnzp9wAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">e9HDD38xcU2866O0xBWebAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="T7chKQVCfUK3nS6PipOTFgAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">e9HDD38xcU2866O0xBWebAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[7]" type="UMLPackage" guid="YdYjb+/kTkiguvMhG4dLRwAA">
<XPD:ATTR name="Name" type="string">sequence</XPD:ATTR>
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#OwnedCollaborations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedCollaborations[0]" type="UMLCollaboration" guid="3xI1j2Zo8E2uWo94azIblwAA">
<XPD:ATTR name="Name" type="string">Collaborations</XPD:ATTR>
<XPD:REF name="RepresentedClassifier">YdYjb+/kTkiguvMhG4dLRwAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">3</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClassifierRole" guid="7v4Ng++uKk6DidOlhTtk3QAA">
<XPD:ATTR name="Name" type="string">AnotherObs</XPD:ATTR>
<XPD:REF name="Namespace">3xI1j2Zo8E2uWo94azIblwAA</XPD:REF>
<XPD:ATTR name="#SenderClientMessages" type="integer">2</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">yS3ffHXhhEqjyklMWeBYbgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">nqmGmdqTN0msZ/pgTc+LTgAA</XPD:REF>
<XPD:ATTR name="#ReceiverClientMessages" type="integer">2</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">QZjuttIfgUKepTKHkveeFAAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">8KqC8nVJwkC9Ar23QLz53AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="sK6hQoHBX0CE3iiXVCgB+AAA">
<XPD:ATTR name="Name" type="string">AnObs</XPD:ATTR>
<XPD:REF name="Namespace">3xI1j2Zo8E2uWo94azIblwAA</XPD:REF>
<XPD:ATTR name="#SenderClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">imA0MEcjoUOzQd8TWl/mlwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">w49h/B9xUE6r8ly0n+reQgAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">CLBYgQeFp02jhIIg+vkpxAAA</XPD:REF>
<XPD:ATTR name="#ReceiverClientMessages" type="integer">3</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">9hb9VWzLw0yBs7pciUFoQQAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">vzMQ/xWKzUKF5+7r42bu2wAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">Mg1ZVx+OrEyX5osATdTrAwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClassifierRole" guid="dxXDeY5YX0exmCasZej/hQAA">
<XPD:ATTR name="Name" type="string">aSubject</XPD:ATTR>
<XPD:REF name="Namespace">3xI1j2Zo8E2uWo94azIblwAA</XPD:REF>
<XPD:ATTR name="#SenderClientMessages" type="integer">6</XPD:ATTR>
<XPD:REF name="SenderClientMessages[0]">QZjuttIfgUKepTKHkveeFAAA</XPD:REF>
<XPD:REF name="SenderClientMessages[1]">8KqC8nVJwkC9Ar23QLz53AAA</XPD:REF>
<XPD:REF name="SenderClientMessages[2]">9hb9VWzLw0yBs7pciUFoQQAA</XPD:REF>
<XPD:REF name="SenderClientMessages[3]">vzMQ/xWKzUKF5+7r42bu2wAA</XPD:REF>
<XPD:REF name="SenderClientMessages[4]">Mg1ZVx+OrEyX5osATdTrAwAA</XPD:REF>
<XPD:REF name="SenderClientMessages[5]">E1hGLOyeX0OJw5UoiAk7QgAA</XPD:REF>
<XPD:ATTR name="#ReceiverClientMessages" type="integer">6</XPD:ATTR>
<XPD:REF name="ReceiverClientMessages[0]">yS3ffHXhhEqjyklMWeBYbgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[1]">nqmGmdqTN0msZ/pgTc+LTgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[2]">imA0MEcjoUOzQd8TWl/mlwAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[3]">w49h/B9xUE6r8ly0n+reQgAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[4]">CLBYgQeFp02jhIIg+vkpxAAA</XPD:REF>
<XPD:REF name="ReceiverClientMessages[5]">E1hGLOyeX0OJw5UoiAk7QgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Interactions" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Interactions[0]" type="UMLInteraction" guid="F0cu0bYkIk21fYjp6qP53wAA">
<XPD:ATTR name="Name" type="string">EAID_F7B57A90_DC51_44d2_94EC_B15E3AECD4D3_INT</XPD:ATTR>
<XPD:REF name="Context">3xI1j2Zo8E2uWo94azIblwAA</XPD:REF>
<XPD:ATTR name="#Messages" type="integer">11</XPD:ATTR>
<XPD:OBJ name="Messages[0]" type="UMLMessage" guid="yS3ffHXhhEqjyklMWeBYbgAA">
<XPD:ATTR name="Name" type="string">Update Ret</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">7v4Ng++uKk6DidOlhTtk3QAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="pQOqqTOHQEiFcnNj0STtYwAA">
<XPD:REF name="Message">yS3ffHXhhEqjyklMWeBYbgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[1]" type="UMLMessage" guid="nqmGmdqTN0msZ/pgTc+LTgAA">
<XPD:ATTR name="Name" type="string">GetState()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">7v4Ng++uKk6DidOlhTtk3QAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="eKGX7wUXGUiJTDgKTp+Q0gAA">
<XPD:REF name="Message">nqmGmdqTN0msZ/pgTc+LTgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[2]" type="UMLMessage" guid="QZjuttIfgUKepTKHkveeFAAA">
<XPD:ATTR name="Name" type="string">Update()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">7v4Ng++uKk6DidOlhTtk3QAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="Fl34QP/dCEOhRveY890qHgAA">
<XPD:REF name="Message">QZjuttIfgUKepTKHkveeFAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[3]" type="UMLMessage" guid="8KqC8nVJwkC9Ar23QLz53AAA">
<XPD:ATTR name="Name" type="string">GetState Ret</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">7v4Ng++uKk6DidOlhTtk3QAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="AoyBX4sdkUq508WA3jtVJQAA">
<XPD:REF name="Message">8KqC8nVJwkC9Ar23QLz53AAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[4]" type="UMLMessage" guid="imA0MEcjoUOzQd8TWl/mlwAA">
<XPD:ATTR name="Name" type="string">Update Ret</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="9iyYsgiRA0uvsiRsv7lElgAA">
<XPD:REF name="Message">imA0MEcjoUOzQd8TWl/mlwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[5]" type="UMLMessage" guid="w49h/B9xUE6r8ly0n+reQgAA">
<XPD:ATTR name="Name" type="string">SetState()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="VsTCR5MSaEOK4DOajlDK/wAA">
<XPD:REF name="Message">w49h/B9xUE6r8ly0n+reQgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[6]" type="UMLMessage" guid="CLBYgQeFp02jhIIg+vkpxAAA">
<XPD:ATTR name="Name" type="string">GetState()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="EOL5uN320EOq9oMh93zaOwAA">
<XPD:REF name="Message">CLBYgQeFp02jhIIg+vkpxAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[7]" type="UMLMessage" guid="9hb9VWzLw0yBs7pciUFoQQAA">
<XPD:ATTR name="Name" type="string">SetState Ret</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="OsvosVufN0uYZ+uwvLNAqwAA">
<XPD:REF name="Message">9hb9VWzLw0yBs7pciUFoQQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[8]" type="UMLMessage" guid="vzMQ/xWKzUKF5+7r42bu2wAA">
<XPD:ATTR name="Name" type="string">Update()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="DTefpO6IEEG+pFeRD47TQgAA">
<XPD:REF name="Message">vzMQ/xWKzUKF5+7r42bu2wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[9]" type="UMLMessage" guid="Mg1ZVx+OrEyX5osATdTrAwAA">
<XPD:ATTR name="Name" type="string">GetState Ret</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">sK6hQoHBX0CE3iiXVCgB+AAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="47Hu0EFEjEW5+W613zrwTwAA">
<XPD:REF name="Message">Mg1ZVx+OrEyX5osATdTrAwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="Messages[10]" type="UMLMessage" guid="E1hGLOyeX0OJw5UoiAk7QgAA">
<XPD:ATTR name="Name" type="string">Notify()</XPD:ATTR>
<XPD:REF name="Interaction">F0cu0bYkIk21fYjp6qP53wAA</XPD:REF>
<XPD:REF name="Sender">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:REF name="Receiver">dxXDeY5YX0exmCasZej/hQAA</XPD:REF>
<XPD:OBJ name="Action" type="UMLCallAction" guid="DCz32RIbWkCnlLzuNDMhpAAA">
<XPD:REF name="Message">E1hGLOyeX0OJw5UoiAk7QgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[8]" type="UMLDependency" guid="Wae0noNep0ipUFZugG9GSAAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:REF name="Client">nnJCpUXpKU2l+orR1zEg4AAA</XPD:REF>
<XPD:REF name="Supplier">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[9]" type="UMLDependency" guid="Xoh78KkuIEuFzGUUPH8C+AAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:REF name="Client">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
<XPD:REF name="Supplier">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[10]" type="UMLAssociation" guid="Ie0JgdfBR0OOb/jbiuJQewAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="r0GQ0myDdUKLunM2rj//BwAA">
<XPD:REF name="Association">Ie0JgdfBR0OOb/jbiuJQewAA</XPD:REF>
<XPD:REF name="Participant">Ko2k2gfDNEyhJgqD7ZBRqAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="Iz7tr+hD/EKMu35wG6JvewAA">
<XPD:REF name="Association">Ie0JgdfBR0OOb/jbiuJQewAA</XPD:REF>
<XPD:REF name="Participant">C0fOJUFhP0iEZc+30A1BAwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[11]" type="UMLDependency" guid="kMzIPWnjdUmjF/T7C7cXIQAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:REF name="Client">Ko2k2gfDNEyhJgqD7ZBRqAAA</XPD:REF>
<XPD:REF name="Supplier">V8TdJ1nzU0eih994nG8oSgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[12]" type="UMLAssociation" guid="vhCw4zGMzEiyiLRjsVItuQAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="LPkmKIaN/UyHNZC4rj5hPgAA">
<XPD:REF name="Association">vhCw4zGMzEiyiLRjsVItuQAA</XPD:REF>
<XPD:REF name="Participant">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="dpvAoQzlM0WlVFOafW1j8AAA">
<XPD:REF name="Association">vhCw4zGMzEiyiLRjsVItuQAA</XPD:REF>
<XPD:REF name="Participant">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[13]" type="UMLAssociation" guid="T9yPSDQavE+fNJdPQkBapQAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="ARVmy2it6kyYn6/cZ8xSXAAA">
<XPD:REF name="Association">T9yPSDQavE+fNJdPQkBapQAA</XPD:REF>
<XPD:REF name="Participant">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="wrTxvEywZkSZWSfG5Ecz1AAA">
<XPD:REF name="Association">T9yPSDQavE+fNJdPQkBapQAA</XPD:REF>
<XPD:REF name="Participant">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[14]" type="UMLAssociation" guid="wC5T8sZbFkShgtjMkHCiFAAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="CLlHLMVzO0CiNHg+gMdkagAA">
<XPD:REF name="Association">wC5T8sZbFkShgtjMkHCiFAAA</XPD:REF>
<XPD:REF name="Participant">V8TdJ1nzU0eih994nG8oSgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="vdzfEWJKZUid7QtL6OWDAwAA">
<XPD:REF name="Association">wC5T8sZbFkShgtjMkHCiFAAA</XPD:REF>
<XPD:REF name="Participant">F504fMkWP0Czzper/3yiWAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[15]" type="UMLAssociation" guid="9no6EFh9o0uX8Kvh0SLbPAAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="jwNNb7xoHEmlOsfpy6mGogAA">
<XPD:REF name="Association">9no6EFh9o0uX8Kvh0SLbPAAA</XPD:REF>
<XPD:REF name="Participant">V8TdJ1nzU0eih994nG8oSgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="oLGgDVjLHUKkjQZMGWFwNAAA">
<XPD:REF name="Association">9no6EFh9o0uX8Kvh0SLbPAAA</XPD:REF>
<XPD:REF name="Participant">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[16]" type="UMLDependency" guid="51j3vBFSwkaHXvt2G06JTwAA">
<XPD:REF name="Namespace">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:REF name="Client">e9HDD38xcU2866O0xBWebAAA</XPD:REF>
<XPD:REF name="Supplier">xHg7ryOjDEWxFw1GeBUuWQAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#OwnedCollaborations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedCollaborations[0]" type="UMLCollaboration" guid="oDGDxeBqt0+MW8kpyFlPEAAA">
<XPD:ATTR name="Name" type="string">Collaborations</XPD:ATTR>
<XPD:REF name="RepresentedClassifier">U4LgjHgnbkCKASzOYhc9lQAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClassifierRole" guid="PTs3DgEns0SxjorGKOSPcgAA">
<XPD:ATTR name="Name" type="string">sequence</XPD:ATTR>
<XPD:REF name="Namespace">oDGDxeBqt0+MW8kpyFlPEAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLPackage" guid="HtryF+dml0eEJoAxK2iUnwAA">
<XPD:ATTR name="Name" type="string">State</XPD:ATTR>
<XPD:REF name="Namespace">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">7</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="hIlMDj/BaE6yw3ovcpAP7QAA">
<XPD:ATTR name="Name" type="string">ConcreteStateA</XPD:ATTR>
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">z3iCLHwP10W8oz/+wjD+bQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="iys40t4XxkGT/WHhy2WRygAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">hIlMDj/BaE6yw3ovcpAP7QAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClass" guid="nsAj50tqJkKohe/Qa9PNDAAA">
<XPD:ATTR name="Name" type="string">Context</XPD:ATTR>
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="6FbSSugfsU6j9AHpSade2QAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">nsAj50tqJkKohe/Qa9PNDAAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">YEEQ1lVJ8U+ww1FiWsGXtgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="LckY7J7/i0+vKfurvhsjbgAA">
<XPD:ATTR name="Name" type="string">State</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:ATTR name="#Specializations" type="integer">2</XPD:ATTR>
<XPD:REF name="Specializations[0]">z3iCLHwP10W8oz/+wjD+bQAA</XPD:REF>
<XPD:REF name="Specializations[1]">ZOdInCTsWU+NYgpJHQMh7wAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="KwrPluEdLkyJ5cBXizycmAAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">LckY7J7/i0+vKfurvhsjbgAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">AvoTXNuX/ka0N6HBLULB+AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLClass" guid="EbHT2v7xD0edyKpR1ZmR5gAA">
<XPD:ATTR name="Name" type="string">ConcreteStateB</XPD:ATTR>
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">ZOdInCTsWU+NYgpJHQMh7wAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="tDEeJmpuRkSIgLx1rSGVSAAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">EbHT2v7xD0edyKpR1ZmR5gAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLGeneralization" guid="z3iCLHwP10W8oz/+wjD+bQAA">
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:REF name="Child">hIlMDj/BaE6yw3ovcpAP7QAA</XPD:REF>
<XPD:REF name="Parent">LckY7J7/i0+vKfurvhsjbgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLAssociation" guid="XdtLLQw6ik2PrIeDMccXAQAA">
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="AvoTXNuX/ka0N6HBLULB+AAA">
<XPD:REF name="Association">XdtLLQw6ik2PrIeDMccXAQAA</XPD:REF>
<XPD:REF name="Participant">LckY7J7/i0+vKfurvhsjbgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="YEEQ1lVJ8U+ww1FiWsGXtgAA">
<XPD:REF name="Association">XdtLLQw6ik2PrIeDMccXAQAA</XPD:REF>
<XPD:REF name="Participant">nsAj50tqJkKohe/Qa9PNDAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[6]" type="UMLGeneralization" guid="ZOdInCTsWU+NYgpJHQMh7wAA">
<XPD:REF name="Namespace">HtryF+dml0eEJoAxK2iUnwAA</XPD:REF>
<XPD:REF name="Child">EbHT2v7xD0edyKpR1ZmR5gAA</XPD:REF>
<XPD:REF name="Parent">LckY7J7/i0+vKfurvhsjbgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLPackage" guid="jIpHMW9ylkqqu7MRZfOpIwAA">
<XPD:ATTR name="Name" type="string">Strategy</XPD:ATTR>
<XPD:REF name="Namespace">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">9</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="FnRTyPGOjUOvg6c/dGV3gwAA">
<XPD:ATTR name="Name" type="string">ConcreteStrategyB</XPD:ATTR>
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">UEYVtD0yjU+c9CH41exBygAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="PdiTeZPgBECXER7KpaTdfAAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">FnRTyPGOjUOvg6c/dGV3gwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClass" guid="GLL5UvTNeka5fNvvk6F+jgAA">
<XPD:ATTR name="Name" type="string">ConcreteStrategyA</XPD:ATTR>
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">BvAWDtEgA0mJ9STFuSEWMAAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="Q1acyHCNHUqw4lndcntnyAAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">GLL5UvTNeka5fNvvk6F+jgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClass" guid="vqUhwdfUq0GYDPxk1dwVrgAA">
<XPD:ATTR name="Name" type="string">ConcreteStrategyC</XPD:ATTR>
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">JXtQ5DF/OkWKNhkjQSDKoAAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="MMJXUC5KekSQzXesqH+YCQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">vqUhwdfUq0GYDPxk1dwVrgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLClass" guid="tiQUxOzmREqu52Dhwcrx7AAA">
<XPD:ATTR name="Name" type="string">Strategy</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Specializations" type="integer">3</XPD:ATTR>
<XPD:REF name="Specializations[0]">UEYVtD0yjU+c9CH41exBygAA</XPD:REF>
<XPD:REF name="Specializations[1]">BvAWDtEgA0mJ9STFuSEWMAAA</XPD:REF>
<XPD:REF name="Specializations[2]">JXtQ5DF/OkWKNhkjQSDKoAAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="aFliUwU4j06t4MmeVLE6sgAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">tiQUxOzmREqu52Dhwcrx7AAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">2p9lhqOsxUKsSGP1Wzp5JQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClass" guid="zNSla6YMkU6JL2jUBe4xhQAA">
<XPD:ATTR name="Name" type="string">Context</XPD:ATTR>
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="XOBbbmq/zEK8cVhVgocoVQAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">zNSla6YMkU6JL2jUBe4xhQAA</XPD:REF>
</XPD:OBJ>
<XPD:ATTR name="#Associations" type="integer">1</XPD:ATTR>
<XPD:REF name="Associations[0]">c4KVC779h022oFv89jmlKwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[5]" type="UMLGeneralization" guid="UEYVtD0yjU+c9CH41exBygAA">
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:REF name="Child">FnRTyPGOjUOvg6c/dGV3gwAA</XPD:REF>
<XPD:REF name="Parent">tiQUxOzmREqu52Dhwcrx7AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[6]" type="UMLGeneralization" guid="BvAWDtEgA0mJ9STFuSEWMAAA">
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:REF name="Child">GLL5UvTNeka5fNvvk6F+jgAA</XPD:REF>
<XPD:REF name="Parent">tiQUxOzmREqu52Dhwcrx7AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[7]" type="UMLGeneralization" guid="JXtQ5DF/OkWKNhkjQSDKoAAA">
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:REF name="Child">vqUhwdfUq0GYDPxk1dwVrgAA</XPD:REF>
<XPD:REF name="Parent">tiQUxOzmREqu52Dhwcrx7AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[8]" type="UMLAssociation" guid="ytgGUGw6gUm1GzkFSRaZXAAA">
<XPD:REF name="Namespace">jIpHMW9ylkqqu7MRZfOpIwAA</XPD:REF>
<XPD:ATTR name="#Connections" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Connections[0]" type="UMLAssociationEnd" guid="2p9lhqOsxUKsSGP1Wzp5JQAA">
<XPD:REF name="Association">ytgGUGw6gUm1GzkFSRaZXAAA</XPD:REF>
<XPD:REF name="Participant">tiQUxOzmREqu52Dhwcrx7AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Connections[1]" type="UMLAssociationEnd" guid="c4KVC779h022oFv89jmlKwAA">
<XPD:REF name="Association">ytgGUGw6gUm1GzkFSRaZXAAA</XPD:REF>
<XPD:REF name="Participant">zNSla6YMkU6JL2jUBe4xhQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLPackage" guid="kvhYfOKZWEW5IxM1dDem3wAA">
<XPD:ATTR name="Name" type="string">TemplateMethod</XPD:ATTR>
<XPD:REF name="Namespace">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">3</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClass" guid="eBbqFM3rPE2IX6M+wJ8UpgAA">
<XPD:ATTR name="Name" type="string">ConcreteClass</XPD:ATTR>
<XPD:REF name="Namespace">kvhYfOKZWEW5IxM1dDem3wAA</XPD:REF>
<XPD:ATTR name="#Generalizations" type="integer">1</XPD:ATTR>
<XPD:REF name="Generalizations[0]">v1tcizK7eE687nYsmVNLEQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">2</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="quEZVka4Dk+cE2DA8P29+QAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">eBbqFM3rPE2IX6M+wJ8UpgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="RO6FWllSLkO8kjPrfwrO4gAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">eBbqFM3rPE2IX6M+wJ8UpgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClass" guid="ovFneV3xmEe39EjloVtbRwAA">
<XPD:ATTR name="Name" type="string">AbstractClass</XPD:ATTR>
<XPD:ATTR name="IsAbstract" type="boolean">True</XPD:ATTR>
<XPD:REF name="Namespace">kvhYfOKZWEW5IxM1dDem3wAA</XPD:REF>
<XPD:ATTR name="#Specializations" type="integer">1</XPD:ATTR>
<XPD:REF name="Specializations[0]">v1tcizK7eE687nYsmVNLEQAA</XPD:REF>
<XPD:ATTR name="#Operations" type="integer">3</XPD:ATTR>
<XPD:OBJ name="Operations[0]" type="UMLOperation" guid="vAWXuUh+r027e3DC65Q5hwAA">
<XPD:ATTR name="Name" type="string">Operation1</XPD:ATTR>
<XPD:REF name="Owner">ovFneV3xmEe39EjloVtbRwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[1]" type="UMLOperation" guid="4vqMFB4WpEOibcc8zPIFswAA">
<XPD:ATTR name="Name" type="string">Operation2</XPD:ATTR>
<XPD:REF name="Owner">ovFneV3xmEe39EjloVtbRwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="Operations[2]" type="UMLOperation" guid="12LMgpNVYUCeY0alt3EM/AAA">
<XPD:ATTR name="Name" type="string">Operation3</XPD:ATTR>
<XPD:REF name="Owner">ovFneV3xmEe39EjloVtbRwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLGeneralization" guid="v1tcizK7eE687nYsmVNLEQAA">
<XPD:REF name="Namespace">kvhYfOKZWEW5IxM1dDem3wAA</XPD:REF>
<XPD:REF name="Child">eBbqFM3rPE2IX6M+wJ8UpgAA</XPD:REF>
<XPD:REF name="Parent">ovFneV3xmEe39EjloVtbRwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:ATTR name="#OwnedCollaborations" type="integer">1</XPD:ATTR>
<XPD:OBJ name="OwnedCollaborations[0]" type="UMLCollaboration" guid="E/Brivwf00GLth9aetsogAAA">
<XPD:ATTR name="Name" type="string">Collaborations</XPD:ATTR>
<XPD:REF name="RepresentedClassifier">IIHSfGdyFkGKzX07yxilsAAA</XPD:REF>
<XPD:ATTR name="#OwnedElements" type="integer">5</XPD:ATTR>
<XPD:OBJ name="OwnedElements[0]" type="UMLClassifierRole" guid="w9u+LC+1VEeddLcMg7PzBQAA">
<XPD:ATTR name="Name" type="string">State</XPD:ATTR>
<XPD:REF name="Namespace">E/Brivwf00GLth9aetsogAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[1]" type="UMLClassifierRole" guid="l/ep7E3mhEu+SRcShVzpewAA">
<XPD:ATTR name="Name" type="string">Observer</XPD:ATTR>
<XPD:REF name="Namespace">E/Brivwf00GLth9aetsogAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[2]" type="UMLClassifierRole" guid="sbUJmv8ZAkWO3+0o02Zf4wAA">
<XPD:ATTR name="Name" type="string">TemplateMethod</XPD:ATTR>
<XPD:REF name="Namespace">E/Brivwf00GLth9aetsogAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[3]" type="UMLClassifierRole" guid="0TuzuiBg30yXXmyiH5WK5QAA">
<XPD:ATTR name="Name" type="string">Strategy</XPD:ATTR>
<XPD:REF name="Namespace">E/Brivwf00GLth9aetsogAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements[4]" type="UMLClassifierRole" guid="AiXfXF/7N0GB2D1w650AmAAA">
<XPD:ATTR name="Name" type="string">Decorator</XPD:ATTR>
<XPD:REF name="Namespace">E/Brivwf00GLth9aetsogAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJ>
</XPD:BODY>
</XPD:PROJECT>
