
(object Petal
    version    	42
    _written   	"Rose 4.5.8163.3"
    charSet    	0)

(object Class_Category "xsd"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	"XSD")
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	"org.eclipse")
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsPrefix"
	    value      	"xsd")
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	"http://www.eclipse.org/xsd/2002/XSD"))
    quid       	"39ABDC6F01AA"
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "XSDAnnotation"
	    quid       	"3B66EDC80233"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B69E1770116"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029")
		(object Inheritance_Relationship
		    quid       	"3B7FD4E20366"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "applicationInformation"
		    quid       	"3BBF7EBF02C8"
		    stereotype 	"0..*"
		    type       	"DOMElement"
		    exportControl 	"Public")
		(object ClassAttribute "userInformation"
		    quid       	"3BBF7EEA0157"
		    stereotype 	"0..*"
		    type       	"DOMElement"
		    exportControl 	"Public")
		(object ClassAttribute "attributes"
		    quid       	"3BBF7F0501E2"
		    stereotype 	"0..*"
		    type       	"DOMAttr"
		    exportControl 	"Public")))
	(object Class "XSDAttributeDeclaration"
	    quid       	"3B66ED2E0192"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B69B7DC0193"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C")
		(object Inheritance_Relationship
		    quid       	"3B688E6103BE"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "attributeDeclarationReference"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C287F5202B4"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDAttributeGroupContent"
	    quid       	"3B6940200089"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B72D8E200EA"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"))
	    abstract   	TRUE)
	(object Class "XSDAttributeGroupDefinition"
	    quid       	"3B66ED840290"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B69403A0221"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDAttributeGroupContent"
		    quidu      	"3B6940200089")
		(object Inheritance_Relationship
		    quid       	"3B6AE2EB02A8"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172")
		(object Inheritance_Relationship
		    quid       	"3B7FCAC800D2"
		    supplier   	"Logical View::xsd::XSDRedefinableComponent"
		    quidu      	"3B7FCA8B020B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "attributeGroupDefinitionReference"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C287F7B0386"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDAttributeUse"
	    quid       	"3B68354601A8"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B72D737038F"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDAttributeGroupContent"
		    quidu      	"3B6940200089")
		(object Inheritance_Relationship
		    quid       	"3B72D7BB0349"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "required"
		    quid       	"3B69CCF3027D"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "value"
		    quid       	"3B69CDDB03B7"
		    type       	"Value"
		    exportControl 	"Public")
		(object ClassAttribute "constraint"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69CDE002D8"
		    type       	"XSDConstraint"
		    exportControl 	"Public")
		(object ClassAttribute "use"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA7B0220382"
		    type       	"XSDAttributeUseCategory"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalValue"
		    quid       	"3C2719D90341"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDBoundedFacet"
	    quid       	"3B6C751D0344"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C763C0224"
		    supplier   	"Logical View::xsd::XSDFundamentalFacet"
		    quidu      	"3B6C69E801D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C752A00CC"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDCardinalityFacet"
	    quid       	"3B6C755D03D2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C764F0131"
		    supplier   	"Logical View::xsd::XSDFundamentalFacet"
		    quidu      	"3B6C69E801D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C756C0153"
		    type       	"XSDCardinality"
		    exportControl 	"Public")))
	(object Class "XSDComplexTypeContent"
	    quid       	"3B683BA00196"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6848B80286"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    abstract   	TRUE)
	(object Class "XSDComplexTypeDefinition"
	    quid       	"3B682B82031A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B69BAA20310"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDScope"
		    quidu      	"3B69B54000F2")
		(object Inheritance_Relationship
		    quid       	"3BA0D01901F1"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "derivationMethod"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69C6E4020E"
		    type       	"XSDDerivationMethod"
		    initv      	"restriction"
		    exportControl 	"Public")
		(object ClassAttribute "final"
		    quid       	"3B69C71D026A"
		    stereotype 	"0..*"
		    type       	"XSDComplexFinal"
		    exportControl 	"Public")
		(object ClassAttribute "abstract"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69C73800C5"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "contentTypeCategory"
		    quid       	"3B69CA4202B8"
		    type       	"XSDContentTypeCategory"
		    exportControl 	"Public")
		(object ClassAttribute "prohibitedSubstitutions"
		    quid       	"3B69CB8A03E6"
		    stereotype 	"0..*"
		    type       	"XSDProhibitedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalFinal"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0F618014D"
		    stereotype 	"0..*"
		    type       	"XSDComplexFinal"
		    exportControl 	"Public")
		(object ClassAttribute "block"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0FB97006E"
		    stereotype 	"0..*"
		    type       	"XSDProhibitedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "mixed"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3C31AF5E03A6"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDComponent"
	    quid       	"3B6846E90029"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3BA0CEA903D2"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"))
	    abstract   	TRUE)
	(object Class "XSDConcreteComponent"
	    quid       	"3B6AD7B40065"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "element"
		    quid       	"3B6ADDB501A5"
		    type       	"DOMElement"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDConstrainingFacet"
	    quid       	"3B6C6B340093"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6C800394"
		    supplier   	"Logical View::xsd::XSDFacet"
		    quidu      	"3B6C359403D2"))
	    abstract   	TRUE)
	(object Class "XSDDiagnostic"
	    quid       	"3BFE5F910046"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D4C0F4C01A1"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "severity"
		    quid       	"3BFE691C005D"
		    type       	"XSDDiagnosticSeverity"
		    exportControl 	"Public")
		(object ClassAttribute "message"
		    quid       	"3BFE5FDD0280"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "locationURI"
		    quid       	"3C063743016B"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "line"
		    quid       	"3BFE607E0213"
		    type       	"int"
		    initv      	"1"
		    exportControl 	"Public")
		(object ClassAttribute "column"
		    quid       	"3BFE611E0296"
		    type       	"int"
		    initv      	"1"
		    exportControl 	"Public")
		(object ClassAttribute "node"
		    quid       	"3C016B6B0200"
		    type       	"DOMNode"
		    exportControl 	"Public")
		(object ClassAttribute "annotationURI"
		    quid       	"3C06374F0186"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "key"
		    quid       	"442C42AC01AC"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "substitutions"
		    quid       	"442C42D401E4"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDElementDeclaration"
	    quid       	"3B66ED580214"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B69EDEE01BF"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C")
		(object Inheritance_Relationship
		    quid       	"3B685F17002E"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDTerm"
		    quidu      	"3B683C5E0174")
		(object Inheritance_Relationship
		    quid       	"3B688E660339"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "nillable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69BFB4029F"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "disallowedSubstitutions"
		    quid       	"3B69C4680368"
		    stereotype 	"0..*"
		    type       	"XSDDisallowedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "substitutionGroupExclusions"
		    quid       	"3B69C4A003B9"
		    stereotype 	"0..*"
		    type       	"XSDSubstitutionGroupExclusions"
		    exportControl 	"Public")
		(object ClassAttribute "abstract"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69C4E0000E"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalFinal"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0D14C00B2"
		    stereotype 	"0..*"
		    type       	"XSDProhibitedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "block"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0D16801C1"
		    stereotype 	"0..*"
		    type       	"XSDDisallowedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "elementDeclarationReference"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C289F6203CF"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "circular"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C34DCB00018"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDEnumerationFacet"
	    quid       	"3B6C6ACE0141"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6C9D03C7"
		    supplier   	"Logical View::xsd::XSDRepeatableFacet"
		    quidu      	"3B6C6AA6031A"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C7C640054"
		    stereotype 	"0..*"
		    type       	"Value"
		    exportControl 	"Public")))
	(object Class "XSDFacet"
	    quid       	"3B6C359403D2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6D25680259"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "lexicalValue"
		    quid       	"3B6C73740253"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "facetName"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C289FB401EC"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "effectiveValue"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28AAE303B6"
		    type       	"Value"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDFeature"
	    quid       	"3B69B537026C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C290A2C0307"
		    supplier   	"Logical View::xsd::XSDNamedComponent"
		    quidu      	"3B6846D303A4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B69BF81020F"
		    type       	"Value"
		    exportControl 	"Public")
		(object ClassAttribute "constraint"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69BF8800C5"
		    type       	"XSDConstraint"
		    exportControl 	"Public")
		(object ClassAttribute "form"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B9F902B033E"
		    type       	"XSDForm"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalValue"
		    quid       	"3C271A1B016F"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "global"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A0070372"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "featureReference"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A0440185"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDFixedFacet"
	    quid       	"3B6C699E00C1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6C8801B4"
		    supplier   	"Logical View::xsd::XSDConstrainingFacet"
		    quidu      	"3B6C6B340093"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "fixed"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B6C6A600201"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDFractionDigitsFacet"
	    quid       	"3B6C79BE02EE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B990016"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C79D2008A"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "XSDFundamentalFacet"
	    quid       	"3B6C69E801D6"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6C7B0396"
		    supplier   	"Logical View::xsd::XSDFacet"
		    quidu      	"3B6C359403D2"))
	    abstract   	TRUE)
	(object Class "XSDIdentityConstraintDefinition"
	    quid       	"3B682B2603A2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B684AA30242"
		    supplier   	"Logical View::xsd::XSDNamedComponent"
		    quidu      	"3B6846D303A4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "identityConstraintCategory"
		    quid       	"3B69D1C70143"
		    type       	"XSDIdentityConstraintCategory"
		    exportControl 	"Public")))
	(object Class "XSDImport"
	    quid       	"3B688C93017F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AD8D9003E"
		    supplier   	"Logical View::xsd::XSDSchemaDirective"
		    quidu      	"3B6AD8A202A2"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "namespace"
		    quid       	"3B6ADB15036C"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDInclude"
	    quid       	"3B688C7D0250"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AD8DC0381"
		    supplier   	"Logical View::xsd::XSDSchemaCompositor"
		    quidu      	"3C21DB4102AE")))
	(object Class "XSDLengthFacet"
	    quid       	"3B6C776200E7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C778002DF"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C776C004B"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "XSDMaxExclusiveFacet"
	    quid       	"3B6C789600C2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B8E0309"
		    supplier   	"Logical View::xsd::XSDMaxFacet"
		    quidu      	"3C0A1CEB010E")))
	(object Class "XSDMaxFacet"
	    quid       	"3C0A1CEB010E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C0A1D3103AD"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3C0A1EE201F7"
		    type       	"Value"
		    exportControl 	"Public")
		(object ClassAttribute "inclusive"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A174027D"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "exclusive"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A1930354"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDMaxInclusiveFacet"
	    quid       	"3B6C787D00DA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B8303B8"
		    supplier   	"Logical View::xsd::XSDMaxFacet"
		    quidu      	"3C0A1CEB010E")))
	(object Class "XSDMaxLengthFacet"
	    quid       	"3B6C77C70146"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B7D00FC"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C77DA00F3"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "XSDMinExclusiveFacet"
	    quid       	"3B6C792D000A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B590281"
		    supplier   	"Logical View::xsd::XSDMinFacet"
		    quidu      	"3C0A1CDE037C")))
	(object Class "XSDMinFacet"
	    quid       	"3C0A1CDE037C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C0A1D240098"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3C0A1ED10398"
		    type       	"Value"
		    exportControl 	"Public")
		(object ClassAttribute "inclusive"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A1A2008E"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "exclusive"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A1BE03E2"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDMinInclusiveFacet"
	    quid       	"3B6C788702C9"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B520353"
		    supplier   	"Logical View::xsd::XSDMinFacet"
		    quidu      	"3C0A1CDE037C")))
	(object Class "XSDMinLengthFacet"
	    quid       	"3B6C778C0065"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C77C400C0"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C7799015E"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "XSDModelGroup"
	    quid       	"3B6834E00291"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B684A640279"
		    supplier   	"Logical View::xsd::XSDTerm"
		    quidu      	"3B683C5E0174"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "compositor"
		    quid       	"3B69CF1D01CF"
		    type       	"XSDCompositor"
		    exportControl 	"Public")))
	(object Class "XSDModelGroupDefinition"
	    quid       	"3B66ED9A0205"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AE2E20381"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172")
		(object Inheritance_Relationship
		    quid       	"3B6BD2550385"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDParticleContent"
		    quidu      	"3B6BD22300C6")
		(object Inheritance_Relationship
		    quid       	"3B7FCAC40090"
		    supplier   	"Logical View::xsd::XSDRedefinableComponent"
		    quidu      	"3B7FCA8B020B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "modelGroupDefinitionReference"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A1F602E8"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDNamedComponent"
	    quid       	"3B6846D303A4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3BA0CEA20197"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3B6847000142"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "targetNamespace"
		    quid       	"3B684704031E"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "aliasName"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A57F0127"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "uRI"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A58700E2"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "aliasURI"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A5AA02AF"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "qName"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C290963025E"
		    type       	"String"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDNotationDeclaration"
	    quid       	"3B66EDAA021C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B68494302F1"
		    supplier   	"Logical View::xsd::XSDNamedComponent"
		    quidu      	"3B6846D303A4")
		(object Inheritance_Relationship
		    quid       	"3B688E4F023C"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "systemIdentifier"
		    quid       	"3B69D32E00F0"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "publicIdentifier"
		    quid       	"3B69D3340397"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDNumericFacet"
	    quid       	"3B6C75950206"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C76420074"
		    supplier   	"Logical View::xsd::XSDFundamentalFacet"
		    quidu      	"3B6C69E801D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C75A30012"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "XSDOrderedFacet"
	    quid       	"3B6C74DD0248"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7659012C"
		    supplier   	"Logical View::xsd::XSDFundamentalFacet"
		    quidu      	"3B6C69E801D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C74F602DA"
		    type       	"XSDOrdered"
		    exportControl 	"Public")))
	(object Class "XSDParticle"
	    quid       	"3B682BBD01F7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6848FC01E7"
		    supplier   	"Logical View::xsd::XSDComplexTypeContent"
		    quidu      	"3B683BA00196"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "minOccurs"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69CF8E03B2"
		    type       	"int"
		    initv      	"1"
		    exportControl 	"Public")
		(object ClassAttribute "maxOccurs"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69CF9903AE"
		    type       	"int"
		    initv      	"1"
		    exportControl 	"Public")))
	(object Class "XSDParticleContent"
	    quid       	"3B6BD22300C6"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B780BD90059"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"))
	    abstract   	TRUE)
	(object Class "XSDPatternFacet"
	    quid       	"3B6C6ADB026C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6CA5038D"
		    supplier   	"Logical View::xsd::XSDRepeatableFacet"
		    quidu      	"3B6C6AA6031A"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C7C790311"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDRedefinableComponent"
	    quid       	"3B7FCA8B020B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B7FD4BA023C"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172")
		(object Inheritance_Relationship
		    quid       	"3C290A26036D"
		    supplier   	"Logical View::xsd::XSDNamedComponent"
		    quidu      	"3B6846D303A4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "circular"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE))
		    quid       	"3C28A6800216"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDRedefineContent"
	    quid       	"3B6AE2060172"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AE2B301D5"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"))
	    abstract   	TRUE)
	(object Class "XSDRedefine"
	    quid       	"3B688C9B02AD"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C21DB640240"
		    supplier   	"Logical View::xsd::XSDSchemaCompositor"
		    quidu      	"3C21DB4102AE")))
	(object Class "XSDRepeatableFacet"
	    quid       	"3B6C6AA6031A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C6C8F002E"
		    supplier   	"Logical View::xsd::XSDConstrainingFacet"
		    quidu      	"3B6C6B340093"))
	    abstract   	TRUE)
	(object Class "XSDSchema"
	    quid       	"374B182500BB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B7FCC4A0182"
		    supplier   	"Logical View::xsd::XSDScope"
		    quidu      	"3B69B54000F2"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "document"
		    quid       	"3C2784E503DD"
		    type       	"DOMDocument"
		    exportControl 	"Public")
		(object ClassAttribute "schemaLocation"
		    quid       	"3B6868EC0226"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "targetNamespace"
		    quid       	"3B9F9BFF0180"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "attributeFormDefault"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B9F904B0102"
		    type       	"XSDForm"
		    initv      	"unqualified"
		    exportControl 	"Public")
		(object ClassAttribute "elementFormDefault"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B9F907800AC"
		    type       	"XSDForm"
		    initv      	"unqualified"
		    exportControl 	"Public")
		(object ClassAttribute "finalDefault"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0C4A70038"
		    stereotype 	"0..*"
		    type       	"XSDProhibitedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "blockDefault"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0F59D02D8"
		    stereotype 	"0..*"
		    type       	"XSDDisallowedSubstitutions"
		    exportControl 	"Public")
		(object ClassAttribute "version"
		    quid       	"3D22D6D80356"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDSchemaCompositor"
	    quid       	"3C21DB4102AE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C21DB560092"
		    supplier   	"Logical View::xsd::XSDSchemaDirective"
		    quidu      	"3B6AD8A202A2"))
	    abstract   	TRUE)
	(object Class "XSDSchemaContent"
	    quid       	"3B688CB800BA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AD8E60372"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"))
	    abstract   	TRUE)
	(object Class "XSDSchemaDirective"
	    quid       	"3B6AD8A202A2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AE32102AF"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "schemaLocation"
		    quid       	"3B6AD9B30330"
		    type       	"String"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "XSDScope"
	    quid       	"3B69B54000F2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B7FCD640231"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    abstract   	TRUE)
	(object Class "XSDSimpleTypeDefinition"
	    quid       	"3B682BA7005D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B684A1302A2"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9")
		(object Inheritance_Relationship
		    quid       	"3B685F55032B"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDComplexTypeContent"
		    quidu      	"3B683BA00196"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "variety"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B6C315800A9"
		    type       	"XSDVariety"
		    exportControl 	"Public")
		(object ClassAttribute "final"
		    quid       	"3B6D544F0146"
		    stereotype 	"0..*"
		    type       	"XSDSimpleFinal"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalFinal"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA0F65E035A"
		    stereotype 	"0..*"
		    type       	"XSDSimpleFinal"
		    exportControl 	"Public")
		(object ClassAttribute "validFacets"
		    quid       	"3C28AB0F00B6"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDTerm"
	    quid       	"3B683C5E0174"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6848AA01D3"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029")
		(object Inheritance_Relationship
		    quid       	"3B6BD2440069"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDParticleContent"
		    quidu      	"3B6BD22300C6"))
	    abstract   	TRUE)
	(object Class "XSDTotalDigitsFacet"
	    quid       	"3B6C79A0020E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C7B610337"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C79AB0232"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "XSDTypeDefinition"
	    quid       	"3B66ECD302A9"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6AE2F5013A"
		    stereotype 	"mixin"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172")
		(object Inheritance_Relationship
		    quid       	"3B7FCAB1004D"
		    supplier   	"Logical View::xsd::XSDRedefinableComponent"
		    quidu      	"3B7FCA8B020B"))
	    abstract   	TRUE)
	(object Class "XSDWhiteSpaceFacet"
	    quid       	"3B6C784601B7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6C78620045"
		    supplier   	"Logical View::xsd::XSDFixedFacet"
		    quidu      	"3B6C699E00C1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B6C78500201"
		    type       	"XSDWhiteSpace"
		    exportControl 	"Public")))
	(object Class "XSDWildcard"
	    quid       	"3B6838370031"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B684A3A0041"
		    supplier   	"Logical View::xsd::XSDTerm"
		    quidu      	"3B683C5E0174"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "namespaceConstraintCategory"
		    quid       	"3B69D0E9019E"
		    type       	"XSDNamespaceConstraintCategory"
		    exportControl 	"Public")
		(object ClassAttribute "namespaceConstraint"
		    quid       	"3B97CF860223"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "processContents"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B69D12E01E4"
		    type       	"XSDProcessContents"
		    exportControl 	"Public")
		(object ClassAttribute "lexicalNamespaceConstraint"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3BA7BDB701F9"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XSDXPathDefinition"
	    quid       	"3B6D83BB0355"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B6D84F70092"
		    supplier   	"Logical View::xsd::XSDComponent"
		    quidu      	"3B6846E90029"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "variety"
		    quid       	"3B6D901503DE"
		    type       	"XSDXPathVariety"
		    exportControl 	"Public")
		(object ClassAttribute "value"
		    quid       	"3B7BBBE101B1"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "DOMAttr"
	    quid       	"3BBF8C8901B6"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Attr"
		    quid       	"3BBF8CB000D5"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "DOMDocument"
	    quid       	"3C27850E0381"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Document"
		    quid       	"3C27851B03C6"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "DOMElement"
	    quid       	"3B8189790200"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Element"
		    quid       	"3B8189DB0374"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "DOMNode"
	    quid       	"3BFE64A50117"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Node"
		    quid       	"3BFE65BF002D"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "Value"
	    quid       	"3C040B5B031F"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.Object"
		    quid       	"3C040B8D03D5"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "XSDAttributeUseCategory"
	    quid       	"3BA7B0E801A8"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "optional"
		    quid       	"3BA7B11502B7"
		    exportControl 	"Public")
		(object ClassAttribute "prohibited"
		    quid       	"3BA7B12202D3"
		    exportControl 	"Public")
		(object ClassAttribute "required"
		    quid       	"3BA7B12902F0"
		    exportControl 	"Public")))
	(object Class "XSDCardinality"
	    quid       	"3BC7715D009B"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "finite"
		    quid       	"3BC771DC02ED"
		    exportControl 	"Public")
		(object ClassAttribute "countablyInfinite"
		    quid       	"3BC771EC0141"
		    exportControl 	"Public")))
	(object Class "XSDComplexFinal"
	    quid       	"3B97C2CA01CB"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "extension"
		    quid       	"3B97C2E700DA"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B97C2EA016A"
		    exportControl 	"Public")
		(object ClassAttribute "all"
		    quid       	"3BA0F6D20112"
		    exportControl 	"Public")))
	(object Class "XSDCompositor"
	    quid       	"3B869B620037"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "all"
		    quid       	"3B869BD00003"
		    exportControl 	"Public")
		(object ClassAttribute "choice"
		    quid       	"3B869CB8011E"
		    exportControl 	"Public")
		(object ClassAttribute "sequence"
		    quid       	"3B869CE50057"
		    exportControl 	"Public")))
	(object Class "XSDConstraint"
	    quid       	"3B869E2601AE"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "default"
		    quid       	"3B869E8E0258"
		    exportControl 	"Public")
		(object ClassAttribute "fixed"
		    quid       	"3B869E990271"
		    exportControl 	"Public")))
	(object Class "XSDContentTypeCategory"
	    quid       	"3B86A79F03A2"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "empty"
		    quid       	"3B86A7CD02F0"
		    exportControl 	"Public")
		(object ClassAttribute "simple"
		    quid       	"3B86A7D100CE"
		    exportControl 	"Public")
		(object ClassAttribute "mixed"
		    quid       	"3B86A7D301B7"
		    exportControl 	"Public")
		(object ClassAttribute "elementOnly"
		    quid       	"3B86A7D702E9"
		    exportControl 	"Public")))
	(object Class "XSDDerivationMethod"
	    quid       	"3B86A0B000CE"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "extension"
		    quid       	"3B86A0C80329"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B86A0CC0162"
		    exportControl 	"Public")))
	(object Class "XSDDiagnosticSeverity"
	    quid       	"3BFE68A7032F"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "fatal"
		    quid       	"3BFE68C303D0"
		    exportControl 	"Public")
		(object ClassAttribute "error"
		    quid       	"3BFE68E700E3"
		    exportControl 	"Public")
		(object ClassAttribute "warning"
		    quid       	"3BFE68EA01FF"
		    exportControl 	"Public")
		(object ClassAttribute "information"
		    quid       	"3BFE7FC2019A"
		    exportControl 	"Public")))
	(object Class "XSDDisallowedSubstitutions"
	    quid       	"3B97C5A403DF"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "substitution"
		    quid       	"3B97C6790045"
		    exportControl 	"Public")
		(object ClassAttribute "extension"
		    quid       	"3B97C67F01AC"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B97C683020B"
		    exportControl 	"Public")
		(object ClassAttribute "all"
		    quid       	"3BA0F2450069"
		    exportControl 	"Public")))
	(object Class "XSDForm"
	    quid       	"3B9F913B01EB"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "qualified"
		    quid       	"3B9F916F0023"
		    exportControl 	"Public")
		(object ClassAttribute "unqualified"
		    quid       	"3B9F918C007F"
		    exportControl 	"Public")))
	(object Class "XSDIdentityConstraintCategory"
	    quid       	"3B86A1E00272"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "key"
		    quid       	"3B86A2120085"
		    exportControl 	"Public")
		(object ClassAttribute "keyref"
		    quid       	"3B86A213014F"
		    exportControl 	"Public")
		(object ClassAttribute "unique"
		    quid       	"3B86A2160365"
		    exportControl 	"Public")))
	(object Class "XSDNamespaceConstraintCategory"
	    quid       	"3B97C5EA0023"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "any"
		    quid       	"3B97D0600034"
		    exportControl 	"Public")
		(object ClassAttribute "not"
		    quid       	"3B97D062005F"
		    exportControl 	"Public")
		(object ClassAttribute "set"
		    quid       	"3B97D0650117"
		    exportControl 	"Public")))
	(object Class "XSDOrdered"
	    quid       	"3BC7715202E4"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "false"
		    quid       	"3BC771A90271"
		    exportControl 	"Public")
		(object ClassAttribute "partial"
		    quid       	"3BC771BB01FF"
		    exportControl 	"Public")
		(object ClassAttribute "total"
		    quid       	"3BC771C401B2"
		    exportControl 	"Public")))
	(object Class "XSDProcessContents"
	    quid       	"3B8FF8C70284"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "strict"
		    quid       	"3B8FF8F80045"
		    exportControl 	"Public")
		(object ClassAttribute "lax"
		    quid       	"3B8FF8F6038B"
		    exportControl 	"Public")
		(object ClassAttribute "skip"
		    quid       	"3B8FF8E802BA"
		    exportControl 	"Public")))
	(object Class "XSDProhibitedSubstitutions"
	    quid       	"3B97C5BE0272"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "extension"
		    quid       	"3B97C68B00B8"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B97C6940291"
		    exportControl 	"Public")
		(object ClassAttribute "all"
		    quid       	"3BA0F2500295"
		    exportControl 	"Public")))
	(object Class "XSDSimpleFinal"
	    quid       	"3B97C25D0295"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "list"
		    quid       	"3B97C2810230"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B97C2830138"
		    exportControl 	"Public")
		(object ClassAttribute "union"
		    quid       	"3B97C288024E"
		    exportControl 	"Public")
		(object ClassAttribute "all"
		    quid       	"3BA0F6E00374"
		    exportControl 	"Public")))
	(object Class "XSDSubstitutionGroupExclusions"
	    quid       	"3B97C59100AE"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "extension"
		    quid       	"3B97C6640231"
		    exportControl 	"Public")
		(object ClassAttribute "restriction"
		    quid       	"3B97C66D0216"
		    exportControl 	"Public")))
	(object Class "XSDVariety"
	    quid       	"3B8FF7730249"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "atomic"
		    quid       	"3B8FF7A702DF"
		    exportControl 	"Public")
		(object ClassAttribute "list"
		    quid       	"3B8FF7AD0139"
		    exportControl 	"Public")
		(object ClassAttribute "union"
		    quid       	"3B8FF7AF039F"
		    exportControl 	"Public")))
	(object Class "XSDWhiteSpace"
	    quid       	"3BEED0F60342"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "preserve"
		    quid       	"3BEED10F0117"
		    exportControl 	"Public")
		(object ClassAttribute "replace"
		    quid       	"3BEED127034D"
		    exportControl 	"Public")
		(object ClassAttribute "collapse"
		    quid       	"3BEED1290396"
		    exportControl 	"Public")))
	(object Class "XSDXPathVariety"
	    quid       	"3B8FFB89033A"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "selector"
		    quid       	"3B8FFBAC0192"
		    exportControl 	"Public")
		(object ClassAttribute "field"
		    quid       	"3B8FFBB30278"
		    exportControl 	"Public")))
	(object Association "$UNNAMED$0"
	    quid       	"3C626EA70102"
	    roles      	(list role_list
		(object Role "$UNNAMED$1"
		    quid       	"3C626EA90191"
		    supplier   	"Logical View::xsd::XSDRepeatableFacet"
		    quidu      	"3B6C6AA6031A"
		    is_aggregate 	TRUE)
		(object Role "annotations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C626EA90192"
		    label      	"annotations"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"3B69DADC02F5"
	    roles      	(list role_list
		(object Role "$UNNAMED$3"
		    quid       	"3B69DADD0238"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DADD0242"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"3B6890D6006F"
	    roles      	(list role_list
		(object Role "$UNNAMED$5"
		    quid       	"3B6890D6030E"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    is_aggregate 	TRUE)
		(object Role "anonymousTypeDefinition"
		    quid       	"3B6890D60318"
		    label      	"anonymousTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"3B68356B02CB"
	    roles      	(list role_list
		(object Role "$UNNAMED$7"
		    quid       	"3B68356D00A6"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    is_aggregate 	TRUE)
		(object Role "typeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B68356D00A7"
		    label      	"typeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"3B6B426B0194"
	    roles      	(list role_list
		(object Role "$UNNAMED$9"
		    quid       	"3B6B426D0309"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    is_aggregate 	TRUE)
		(object Role "resolvedAttributeDeclaration"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6B426D0313"
		    label      	"resolvedAttributeDeclaration"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"3B69DB060291"
	    roles      	(list role_list
		(object Role "$UNNAMED$11"
		    quid       	"3B69DB070171"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB070172"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"3B69404E0067"
	    roles      	(list role_list
		(object Role "$UNNAMED$13"
		    quid       	"3B694050029B"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "contents"
		    quid       	"3B69405002A5"
		    label      	"contents"
		    supplier   	"Logical View::xsd::XSDAttributeGroupContent"
		    quidu      	"3B6940200089"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"3B68359F0086"
	    roles      	(list role_list
		(object Role "$UNNAMED$15"
		    quid       	"3B6835A00069"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "attributeUses"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6835A0006A"
		    label      	"attributeUses"
		    supplier   	"Logical View::xsd::XSDAttributeUse"
		    quidu      	"3B68354601A8"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$16"
	    quid       	"3C275D320220"
	    roles      	(list role_list
		(object Role "$UNNAMED$17"
		    quid       	"3C275D3C010C"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "attributeWildcardContent"
		    quid       	"3C275D3C010D"
		    label      	"attributeWildcardContent"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$18"
	    quid       	"3B6887BF0150"
	    roles      	(list role_list
		(object Role "$UNNAMED$19"
		    quid       	"3B6887C000A7"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "attributeWildcard"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6887C000A8"
		    label      	"attributeWildcard"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$20"
	    quid       	"3B6B425E01F9"
	    roles      	(list role_list
		(object Role "$UNNAMED$21"
		    quid       	"3B6B42620046"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "resolvedAttributeGroupDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6B42620050"
		    label      	"resolvedAttributeGroupDefinition"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$22"
	    quid       	"3B683585010D"
	    roles      	(list role_list
		(object Role "$UNNAMED$23"
		    quid       	"3B68358600FA"
		    supplier   	"Logical View::xsd::XSDAttributeUse"
		    quidu      	"3B68354601A8"
		    is_aggregate 	TRUE)
		(object Role "attributeDeclaration"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B68358600FB"
		    label      	"attributeDeclaration"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$24"
	    quid       	"3B6F1DE9018A"
	    roles      	(list role_list
		(object Role "$UNNAMED$25"
		    quid       	"3B6F1DEA036C"
		    supplier   	"Logical View::xsd::XSDAttributeUse"
		    quidu      	"3B68354601A8"
		    is_aggregate 	TRUE)
		(object Role "content"
		    quid       	"3B6F1DEA0380"
		    label      	"content"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$26"
	    quid       	"3B90068801C2"
	    roles      	(list role_list
		(object Role "$UNNAMED$27"
		    quid       	"3B90068A0111"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "contentAnnotation"
		    quid       	"3B90068A011B"
		    label      	"contentAnnotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$28"
	    quid       	"3B6833350340"
	    roles      	(list role_list
		(object Role "$UNNAMED$29"
		    quid       	"3B683336028D"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "baseTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B683336028E"
		    label      	"baseTypeDefinition"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$30"
	    quid       	"3B6FDDD70113"
	    roles      	(list role_list
		(object Role "$UNNAMED$31"
		    quid       	"3B6FDDDA026B"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "content"
		    quid       	"3B6FDDDA0275"
		    label      	"content"
		    supplier   	"Logical View::xsd::XSDComplexTypeContent"
		    quidu      	"3B683BA00196"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$32"
	    quid       	"3B6837DF024F"
	    roles      	(list role_list
		(object Role "$UNNAMED$33"
		    quid       	"3B6837E100FD"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "contentType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6837E100FE"
		    label      	"contentType"
		    supplier   	"Logical View::xsd::XSDComplexTypeContent"
		    quidu      	"3B683BA00196"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$34"
	    quid       	"3B683959006E"
	    roles      	(list role_list
		(object Role "$UNNAMED$35"
		    quid       	"3B6839590349"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "attributeUses"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B683959034A"
		    label      	"attributeUses"
		    supplier   	"Logical View::xsd::XSDAttributeUse"
		    quidu      	"3B68354601A8"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$36"
	    quid       	"3B698E360386"
	    roles      	(list role_list
		(object Role "$UNNAMED$37"
		    quid       	"3B698E380072"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "attributeContents"
		    quid       	"3B698E38007C"
		    label      	"attributeContents"
		    supplier   	"Logical View::xsd::XSDAttributeGroupContent"
		    quidu      	"3B6940200089"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$38"
	    quid       	"3B6851BA0126"
	    roles      	(list role_list
		(object Role "$UNNAMED$39"
		    quid       	"3B6851BB0150"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "attributeWildcard"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6851BB0151"
		    label      	"attributeWildcard"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$40"
	    quid       	"3B751B0803C7"
	    roles      	(list role_list
		(object Role "container"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B751B0C01CE"
		    label      	"container"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$41"
		    attributes 	(list Attribute_Set)
		    quid       	"3B751B0C01CF"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065")))
	(object Association "$UNNAMED$42"
	    quid       	"3B751B480261"
	    roles      	(list role_list
		(object Role "rootContainer"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B751B4C0285"
		    label      	"rootContainer"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$43"
		    attributes 	(list Attribute_Set)
		    quid       	"3B751B4C0286"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065")))
	(object Association "$UNNAMED$44"
	    quid       	"3B751C310356"
	    roles      	(list role_list
		(object Role "$UNNAMED$45"
		    attributes 	(list Attribute_Set)
		    quid       	"3B751C330331"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065")
		(object Role "schema"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B751C33033B"
		    label      	"schema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$46"
	    quid       	"3B69DB0A0066"
	    roles      	(list role_list
		(object Role "$UNNAMED$47"
		    quid       	"3B69DB0B023F"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB0B0249"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$48"
	    quid       	"3B68911401AF"
	    roles      	(list role_list
		(object Role "$UNNAMED$49"
		    quid       	"3B6891150016"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "anonymousTypeDefinition"
		    quid       	"3B6891150017"
		    label      	"anonymousTypeDefinition"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$50"
	    quid       	"3B68338C0058"
	    roles      	(list role_list
		(object Role "$UNNAMED$51"
		    quid       	"3B68338C03BF"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "typeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B68338C03C0"
		    label      	"typeDefinition"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$52"
	    quid       	"3B6833EF0160"
	    roles      	(list role_list
		(object Role "$UNNAMED$53"
		    quid       	"3B6833F00298"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "identityConstraintDefinitions"
		    quid       	"3B6833F00299"
		    label      	"identityConstraintDefinitions"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$54"
	    quid       	"3B6B41E60251"
	    roles      	(list role_list
		(object Role "$UNNAMED$55"
		    quid       	"3B6B41EA02F7"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "resolvedElementDeclaration"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6B41EA030B"
		    label      	"resolvedElementDeclaration"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$56"
	    quid       	"3B69C0590198"
	    roles      	(list role_list
		(object Role "$UNNAMED$57"
		    quid       	"3B69C05D01E3"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214")
		(object Role "substitutionGroupAffiliation"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B69C05D01ED"
		    label      	"substitutionGroupAffiliation"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$58"
	    quid       	"3C42DBDD0297"
	    roles      	(list role_list
		(object Role "$UNNAMED$59"
		    quid       	"3C42DBE0011E"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    is_aggregate 	TRUE)
		(object Role "substitutionGroup"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C42DBE00128"
		    label      	"substitutionGroup"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$60"
	    quid       	"3B6D23B901CD"
	    roles      	(list role_list
		(object Role "$UNNAMED$61"
		    quid       	"3B6D23BA01C4"
		    supplier   	"Logical View::xsd::XSDFacet"
		    quidu      	"3B6C359403D2"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B6D23BA01CE"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$62"
	    quid       	"3B6D597102EA"
	    roles      	(list role_list
		(object Role "simpleTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6D59750105"
		    label      	"simpleTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$63"
		    attributes 	(list Attribute_Set)
		    quid       	"3B6D59750119"
		    supplier   	"Logical View::xsd::XSDFacet"
		    quidu      	"3B6C359403D2")))
	(object Association "$UNNAMED$64"
	    quid       	"3B69B653017A"
	    roles      	(list role_list
		(object Role "scope"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B69B654006D"
		    label      	"scope"
		    supplier   	"Logical View::xsd::XSDScope"
		    quidu      	"3B69B54000F2"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$65"
		    attributes 	(list Attribute_Set)
		    quid       	"3B69B654006E"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C")))
	(object Association "$UNNAMED$66"
	    quid       	"3C29010602D7"
	    roles      	(list role_list
		(object Role "resolvedFeature"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C29010B000E"
		    label      	"resolvedFeature"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$67"
		    attributes 	(list Attribute_Set)
		    quid       	"3C29010B0018"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C")))
	(object Association "$UNNAMED$68"
	    quid       	"3B69DB0D0183"
	    roles      	(list role_list
		(object Role "$UNNAMED$69"
		    quid       	"3B69DB0D033C"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB0D0346"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$70"
	    quid       	"3B69D29E014D"
	    roles      	(list role_list
		(object Role "referencedKey"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B69D2A80165"
		    label      	"referencedKey"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$71"
		    attributes 	(list Attribute_Set)
		    quid       	"3B69D2A8016F"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2")))
	(object Association "$UNNAMED$72"
	    quid       	"3B6D8D3D003E"
	    roles      	(list role_list
		(object Role "$UNNAMED$73"
		    quid       	"3B6D8D3E022A"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    is_aggregate 	TRUE)
		(object Role "selector"
		    quid       	"3B6D8D3E0234"
		    label      	"selector"
		    supplier   	"Logical View::xsd::XSDXPathDefinition"
		    quidu      	"3B6D83BB0355"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$74"
	    quid       	"3B6D8D330025"
	    roles      	(list role_list
		(object Role "$UNNAMED$75"
		    quid       	"3B6D8D330365"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    is_aggregate 	TRUE)
		(object Role "fields"
		    quid       	"3B6D8D330379"
		    label      	"fields"
		    supplier   	"Logical View::xsd::XSDXPathDefinition"
		    quidu      	"3B6D83BB0355"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$76"
	    quid       	"3B6ADCD802FC"
	    roles      	(list role_list
		(object Role "$UNNAMED$77"
		    quid       	"3B6ADCD9018B"
		    supplier   	"Logical View::xsd::XSDImport"
		    quidu      	"3B688C93017F"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B6ADCD9018C"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$78"
	    quid       	"3B6ADCC5007E"
	    roles      	(list role_list
		(object Role "$UNNAMED$79"
		    quid       	"3B6ADCC6006B"
		    supplier   	"Logical View::xsd::XSDInclude"
		    quidu      	"3B688C7D0250"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B6ADCC6006C"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$80"
	    quid       	"3B69DB1702C8"
	    roles      	(list role_list
		(object Role "$UNNAMED$81"
		    quid       	"3B69DB1803E2"
		    supplier   	"Logical View::xsd::XSDModelGroup"
		    quidu      	"3B6834E00291"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB190004"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$82"
	    quid       	"3B6BCEB102F8"
	    roles      	(list role_list
		(object Role "$UNNAMED$83"
		    quid       	"3B6BCEB6001B"
		    supplier   	"Logical View::xsd::XSDModelGroup"
		    quidu      	"3B6834E00291"
		    is_aggregate 	TRUE)
		(object Role "contents"
		    quid       	"3B6BCEB60025"
		    label      	"contents"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$84"
	    quid       	"3B683606026F"
	    roles      	(list role_list
		(object Role "$UNNAMED$85"
		    quid       	"3B6836070221"
		    supplier   	"Logical View::xsd::XSDModelGroup"
		    quidu      	"3B6834E00291"
		    is_aggregate 	TRUE)
		(object Role "particles"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6836070222"
		    label      	"particles"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    client_cardinality 	(value cardinality "1..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$86"
	    quid       	"3B69DB15008A"
	    roles      	(list role_list
		(object Role "$UNNAMED$87"
		    quid       	"3B69DB160096"
		    supplier   	"Logical View::xsd::XSDModelGroupDefinition"
		    quidu      	"3B66ED9A0205"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB1600A0"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$88"
	    quid       	"3B6837AC025A"
	    roles      	(list role_list
		(object Role "$UNNAMED$89"
		    quid       	"3B6837AD0338"
		    supplier   	"Logical View::xsd::XSDModelGroupDefinition"
		    quidu      	"3B66ED9A0205"
		    is_aggregate 	TRUE)
		(object Role "modelGroup"
		    quid       	"3B6837AD0339"
		    label      	"modelGroup"
		    supplier   	"Logical View::xsd::XSDModelGroup"
		    quidu      	"3B6834E00291"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$90"
	    quid       	"3B6B42450398"
	    roles      	(list role_list
		(object Role "$UNNAMED$91"
		    quid       	"3B6B4249038A"
		    supplier   	"Logical View::xsd::XSDModelGroupDefinition"
		    quidu      	"3B66ED9A0205"
		    is_aggregate 	TRUE)
		(object Role "resolvedModelGroupDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6B4249039E"
		    label      	"resolvedModelGroupDefinition"
		    supplier   	"Logical View::xsd::XSDModelGroupDefinition"
		    quidu      	"3B66ED9A0205"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$92"
	    quid       	"3B69DB0F0212"
	    roles      	(list role_list
		(object Role "$UNNAMED$93"
		    quid       	"3B69DB1000C9"
		    supplier   	"Logical View::xsd::XSDNotationDeclaration"
		    quidu      	"3B66EDAA021C"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB1000D3"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$94"
	    quid       	"3B6B47150119"
	    roles      	(list role_list
		(object Role "$UNNAMED$95"
		    quid       	"3B6B471A03AB"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    is_aggregate 	TRUE)
		(object Role "content"
		    quid       	"3B6B471A03B5"
		    label      	"content"
		    supplier   	"Logical View::xsd::XSDParticleContent"
		    quidu      	"3B6BD22300C6"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$96"
	    quid       	"3B683C890122"
	    roles      	(list role_list
		(object Role "$UNNAMED$97"
		    quid       	"3B683C8A0110"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    is_aggregate 	TRUE)
		(object Role "term"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B683C8A0111"
		    label      	"term"
		    supplier   	"Logical View::xsd::XSDTerm"
		    quidu      	"3B683C5E0174"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$98"
	    quid       	"3B6ADE42009A"
	    roles      	(list role_list
		(object Role "$UNNAMED$99"
		    quid       	"3B6ADE4302FE"
		    supplier   	"Logical View::xsd::XSDRedefine"
		    quidu      	"3B688C9B02AD"
		    is_aggregate 	TRUE)
		(object Role "annotations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6ADE430308"
		    label      	"annotations"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$100"
	    quid       	"3B6AE8240051"
	    roles      	(list role_list
		(object Role "$UNNAMED$101"
		    quid       	"3B6AE82602AD"
		    supplier   	"Logical View::xsd::XSDRedefine"
		    quidu      	"3B688C9B02AD"
		    is_aggregate 	TRUE)
		(object Role "contents"
		    quid       	"3B6AE82602B7"
		    label      	"contents"
		    supplier   	"Logical View::xsd::XSDRedefineContent"
		    quidu      	"3B6AE2060172"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$102"
	    quid       	"3B688E6B003D"
	    roles      	(list role_list
		(object Role "$UNNAMED$103"
		    quid       	"3B688E6C0107"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "contents"
		    quid       	"3B688E6C0111"
		    label      	"contents"
		    supplier   	"Logical View::xsd::XSDSchemaContent"
		    quidu      	"3B688CB800BA"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$104"
	    quid       	"3B66EE8D01BF"
	    roles      	(list role_list
		(object Role "$UNNAMED$105"
		    quid       	"3B66EE8E0198"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "elementDeclarations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66EE8E0199"
		    label      	"elementDeclarations"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$106"
	    quid       	"3B66FDFA00C3"
	    roles      	(list role_list
		(object Role "$UNNAMED$107"
		    quid       	"3B66FDFB027D"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "attributeDeclarations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66FDFB027E"
		    label      	"attributeDeclarations"
		    supplier   	"Logical View::xsd::XSDAttributeDeclaration"
		    quidu      	"3B66ED2E0192"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$108"
	    quid       	"3B66EE920216"
	    roles      	(list role_list
		(object Role "$UNNAMED$109"
		    quid       	"3B66EE93018B"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "attributeGroupDefinitions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66EE93018C"
		    label      	"attributeGroupDefinitions"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$110"
	    quid       	"3B66EE760049"
	    roles      	(list role_list
		(object Role "$UNNAMED$111"
		    quid       	"3B66EE760374"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "typeDefinitions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66EE76037E"
		    label      	"typeDefinitions"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$112"
	    quid       	"3B66EEFF024F"
	    roles      	(list role_list
		(object Role "$UNNAMED$113"
		    quid       	"3B66EF00025A"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "modelGroupDefinitions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66EF000264"
		    label      	"modelGroupDefinitions"
		    supplier   	"Logical View::xsd::XSDModelGroupDefinition"
		    quidu      	"3B66ED9A0205"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$114"
	    quid       	"3BFC2A1701ED"
	    roles      	(list role_list
		(object Role "$UNNAMED$115"
		    quid       	"3BFC2A1A0273"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "identityConstraintDefinitions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3BFC2A1A027D"
		    label      	"identityConstraintDefinitions"
		    supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
		    quidu      	"3B682B2603A2"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$116"
	    quid       	"3B66EEA7023E"
	    roles      	(list role_list
		(object Role "$UNNAMED$117"
		    quid       	"3B66EEA8038A"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "notationDeclarations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B66EEA8038B"
		    label      	"notationDeclarations"
		    supplier   	"Logical View::xsd::XSDNotationDeclaration"
		    quidu      	"3B66EDAA021C"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$118"
	    quid       	"3B69E4560290"
	    roles      	(list role_list
		(object Role "$UNNAMED$119"
		    quid       	"3B69E4570165"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "annotations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B69E457016F"
		    label      	"annotations"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$120"
	    quid       	"3B6D5CA50112"
	    roles      	(list role_list
		(object Role "$UNNAMED$121"
		    quid       	"3B6D5CA703B4"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "contents"
		    quid       	"3B6D5CA703C8"
		    label      	"contents"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$122"
	    quid       	"3B6C35AD0374"
	    roles      	(list role_list
		(object Role "$UNNAMED$123"
		    quid       	"3B6C35AF0006"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "facetContents"
		    quid       	"3B6C35AF0010"
		    label      	"facetContents"
		    supplier   	"Logical View::xsd::XSDConstrainingFacet"
		    quidu      	"3B6C6B340093"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$124"
	    quid       	"3BC8AE0203A8"
	    roles      	(list role_list
		(object Role "$UNNAMED$125"
		    quid       	"3BC8AE060051"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "facets"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3BC8AE060065"
		    label      	"facets"
		    supplier   	"Logical View::xsd::XSDConstrainingFacet"
		    quidu      	"3B6C6B340093"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$126"
	    quid       	"3B6C34B70208"
	    roles      	(list role_list
		(object Role "$UNNAMED$127"
		    quid       	"3B6C34BE0258"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "memberTypeDefinitions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6C34BE0259"
		    label      	"memberTypeDefinitions"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$128"
	    quid       	"3B6C363201DB"
	    roles      	(list role_list
		(object Role "$UNNAMED$129"
		    quid       	"3B6C36350059"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "fundamentalFacets"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B6C36350063"
		    label      	"fundamentalFacets"
		    supplier   	"Logical View::xsd::XSDFundamentalFacet"
		    quidu      	"3B6C69E801D6"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$130"
	    quid       	"3B6D35AB0273"
	    roles      	(list role_list
		(object Role "$UNNAMED$131"
		    quid       	"3B6D35B20291"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "baseTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6D35B202A5"
		    label      	"baseTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$132"
	    quid       	"3B6D5572016C"
	    roles      	(list role_list
		(object Role "$UNNAMED$133"
		    quid       	"3B6D5575022F"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "primitiveTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B6D55750243"
		    label      	"primitiveTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$134"
	    quid       	"3B69E2910158"
	    roles      	(list role_list
		(object Role "$UNNAMED$135"
		    quid       	"3B69E292019F"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69E29201A9"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$136"
	    quid       	"3B9006CF0088"
	    roles      	(list role_list
		(object Role "$UNNAMED$137"
		    quid       	"3B9006D1015D"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    is_aggregate 	TRUE)
		(object Role "derivationAnnotation"
		    quid       	"3B9006D10167"
		    label      	"derivationAnnotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$138"
	    quid       	"3B69DB330264"
	    roles      	(list role_list
		(object Role "$UNNAMED$139"
		    quid       	"3B69DB340284"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    is_aggregate 	TRUE)
		(object Role "annotations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3B69DB34028E"
		    label      	"annotations"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$140"
	    quid       	"3B69DB11026F"
	    roles      	(list role_list
		(object Role "$UNNAMED$141"
		    quid       	"3B69DB1201F9"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3B69DB120203"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$142"
	    quid       	"3C626EB30005"
	    roles      	(list role_list
		(object Role "$UNNAMED$143"
		    quid       	"3C626EB40327"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    is_aggregate 	TRUE)
		(object Role "annotations"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C626EB40332"
		    label      	"annotations"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$144"
	    quid       	"3BEBDC870247"
	    roles      	(list role_list
		(object Role "$UNNAMED$145"
		    quid       	"3BEBDC8C02F9"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "attributeWildcardContent"
		    quid       	"3BEBDC8C0303"
		    label      	"attributeWildcardContent"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$146"
	    quid       	"3BFE622703CD"
	    roles      	(list role_list
		(object Role "$UNNAMED$147"
		    attributes 	(list Attribute_Set)
		    quid       	"3BFE622B0061"
		    supplier   	"Logical View::xsd::XSDDiagnostic"
		    quidu      	"3BFE5F910046")
		(object Role "components"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3BFE622B006C"
		    label      	"components"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"
		    client_cardinality 	(value cardinality "1..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$148"
	    quid       	"3BFE62690165"
	    roles      	(list role_list
		(object Role "$UNNAMED$149"
		    quid       	"3BFE626A0026"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"
		    is_aggregate 	TRUE)
		(object Role "diagnostics"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3BFE626A0027"
		    label      	"diagnostics"
		    supplier   	"Logical View::xsd::XSDDiagnostic"
		    quidu      	"3BFE5F910046"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$150"
	    quid       	"3BFE6431035F"
	    roles      	(list role_list
		(object Role "$UNNAMED$151"
		    quid       	"3BFE643201C6"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "allDiagnostics"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3BFE643201C7"
		    label      	"allDiagnostics"
		    supplier   	"Logical View::xsd::XSDDiagnostic"
		    quidu      	"3BFE5F910046"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$152"
	    quid       	"3C21DCC700EC"
	    roles      	(list role_list
		(object Role "$UNNAMED$153"
		    quid       	"3C21DCCE0042"
		    supplier   	"Logical View::xsd::XSDSchemaDirective"
		    quidu      	"3B6AD8A202A2"
		    is_aggregate 	TRUE)
		(object Role "resolvedSchema"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C21DCCE0043"
		    label      	"resolvedSchema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$154"
	    quid       	"3C21DD0C03DB"
	    roles      	(list role_list
		(object Role "$UNNAMED$155"
		    quid       	"3C21DD100304"
		    supplier   	"Logical View::xsd::XSDSchemaCompositor"
		    quidu      	"3C21DB4102AE"
		    is_aggregate 	TRUE)
		(object Role "incorporatedSchema"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C21DD100305"
		    label      	"incorporatedSchema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$156"
	    quid       	"3C239134004F"
	    roles      	(list role_list
		(object Role "$UNNAMED$157"
		    quid       	"3C23913600CA"
		    supplier   	"Logical View::xsd::XSDXPathDefinition"
		    quidu      	"3B6D83BB0355"
		    is_aggregate 	TRUE)
		(object Role "annotation"
		    quid       	"3C23913600D4"
		    label      	"annotation"
		    supplier   	"Logical View::xsd::XSDAnnotation"
		    quidu      	"3B66EDC80233"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$158"
	    quid       	"3C25D3A60131"
	    roles      	(list role_list
		(object Role "$UNNAMED$159"
		    quid       	"3C25D3A90370"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB")
		(object Role "referencingDirectives"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C25D3A90371"
		    label      	"referencingDirectives"
		    supplier   	"Logical View::xsd::XSDSchemaDirective"
		    quidu      	"3B6AD8A202A2"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$160"
	    quid       	"3C25ECF0005E"
	    roles      	(list role_list
		(object Role "$UNNAMED$161"
		    quid       	"3C25ECF4001E"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB")
		(object Role "rootVersion"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C25ECF40028"
		    label      	"rootVersion"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$162"
	    quid       	"3C25ED0B011B"
	    roles      	(list role_list
		(object Role "$UNNAMED$163"
		    quid       	"3C25ED0F0121"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB")
		(object Role "originalVersion"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C25ED0F012B"
		    label      	"originalVersion"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$164"
	    quid       	"3C25EEAB001F"
	    roles      	(list role_list
		(object Role "$UNNAMED$165"
		    quid       	"3C25EEAF010B"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    is_aggregate 	TRUE)
		(object Role "incorporatedVersions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C25EEAF0115"
		    label      	"incorporatedVersions"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$166"
	    quid       	"3C276DA000DE"
	    roles      	(list role_list
		(object Role "$UNNAMED$167"
		    quid       	"3C276DA000DF"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "itemTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3C276DA000E0"
		    label      	"itemTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$168"
	    quid       	"3C2784730194"
	    roles      	(list role_list
		(object Role "$UNNAMED$169"
		    quid       	"3C27847501F1"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB")
		(object Role "schemaForSchema"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C27847501FB"
		    label      	"schemaForSchema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$170"
	    quid       	"3C2880F503D9"
	    roles      	(list role_list
		(object Role "rootTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C2880F9003C"
		    label      	"rootTypeDefinition"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$171"
		    attributes 	(list Attribute_Set)
		    quid       	"3C2880F90046"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A")))
	(object Association "$UNNAMED$172"
	    quid       	"3C2882C50137"
	    roles      	(list role_list
		(object Role "$UNNAMED$173"
		    attributes 	(list Attribute_Set)
		    quid       	"3C2882C70112"
		    supplier   	"Logical View::xsd::XSDDiagnostic"
		    quidu      	"3BFE5F910046")
		(object Role "primaryComponent"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C2882C70113"
		    label      	"primaryComponent"
		    supplier   	"Logical View::xsd::XSDConcreteComponent"
		    quidu      	"3B6AD7B40065"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$174"
	    quid       	"3C28A0F201A4"
	    roles      	(list role_list
		(object Role "type"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A0F302E5"
		    label      	"type"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$175"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A0F302F0"
		    supplier   	"Logical View::xsd::XSDFeature"
		    quidu      	"3B69B537026C")))
	(object Association "$UNNAMED$176"
	    quid       	"3C28A6DB01E5"
	    roles      	(list role_list
		(object Role "rootType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A6DD03DD"
		    label      	"rootType"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$177"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A6DD03DE"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9")))
	(object Association "$UNNAMED$178"
	    quid       	"3C28A7120108"
	    roles      	(list role_list
		(object Role "baseType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A7140151"
		    label      	"baseType"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$179"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A714015B"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9")))
	(object Association "$UNNAMED$180"
	    quid       	"3C28A74B0178"
	    roles      	(list role_list
		(object Role "simpleType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A74D017B"
		    label      	"simpleType"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$181"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A74D0185"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9")))
	(object Association "$UNNAMED$182"
	    quid       	"3C28A7ED03C0"
	    roles      	(list role_list
		(object Role "complexType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A7F40117"
		    label      	"complexType"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$183"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A7F40121"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9")))
	(object Association "$UNNAMED$184"
	    quid       	"3C28A994030A"
	    roles      	(list role_list
		(object Role "rootTypeDefinition"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28A99700DD"
		    label      	"rootTypeDefinition"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$185"
		    attributes 	(list Attribute_Set)
		    quid       	"3C28A99700E7"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D")))
	(object Association "$UNNAMED$186"
	    quid       	"3C28B085025B"
	    roles      	(list role_list
		(object Role "$UNNAMED$187"
		    quid       	"3C28B0860270"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "minFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B086027A"
		    label      	"minFacet"
		    supplier   	"Logical View::xsd::XSDMinFacet"
		    quidu      	"3C0A1CDE037C"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$188"
	    quid       	"3C28B08D0252"
	    roles      	(list role_list
		(object Role "$UNNAMED$189"
		    quid       	"3C28B08E0091"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "maxFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B08E009B"
		    label      	"maxFacet"
		    supplier   	"Logical View::xsd::XSDMaxFacet"
		    quidu      	"3C0A1CEB010E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$190"
	    quid       	"3C28B0AB0396"
	    roles      	(list role_list
		(object Role "$UNNAMED$191"
		    quid       	"3C28B0AC03C9"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "maxInclusiveFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0AC03D4"
		    label      	"maxInclusiveFacet"
		    supplier   	"Logical View::xsd::XSDMaxInclusiveFacet"
		    quidu      	"3B6C787D00DA"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$192"
	    quid       	"3C28B0AF0338"
	    roles      	(list role_list
		(object Role "$UNNAMED$193"
		    quid       	"3C28B0B001F9"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "minInclusiveFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0B00203"
		    label      	"minInclusiveFacet"
		    supplier   	"Logical View::xsd::XSDMinInclusiveFacet"
		    quidu      	"3B6C788702C9"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$194"
	    quid       	"3C28B0B30207"
	    roles      	(list role_list
		(object Role "$UNNAMED$195"
		    quid       	"3C28B0B40190"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "minExclusiveFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0B4019A"
		    label      	"minExclusiveFacet"
		    supplier   	"Logical View::xsd::XSDMinExclusiveFacet"
		    quidu      	"3B6C792D000A"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$196"
	    quid       	"3C28B0B6028D"
	    roles      	(list role_list
		(object Role "$UNNAMED$197"
		    quid       	"3C28B0B70217"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "maxExclusiveFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0B70221"
		    label      	"maxExclusiveFacet"
		    supplier   	"Logical View::xsd::XSDMaxExclusiveFacet"
		    quidu      	"3B6C789600C2"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$198"
	    quid       	"3C28B0BC0051"
	    roles      	(list role_list
		(object Role "$UNNAMED$199"
		    quid       	"3C28B0BC0246"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "lengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0BC0250"
		    label      	"lengthFacet"
		    supplier   	"Logical View::xsd::XSDLengthFacet"
		    quidu      	"3B6C776200E7"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$200"
	    quid       	"3C28B0BF018C"
	    roles      	(list role_list
		(object Role "$UNNAMED$201"
		    quid       	"3C28B0C0006B"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "whiteSpaceFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0C00075"
		    label      	"whiteSpaceFacet"
		    supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
		    quidu      	"3B6C784601B7"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$202"
	    quid       	"3C28B0C2021D"
	    roles      	(list role_list
		(object Role "$UNNAMED$203"
		    quid       	"3C28B0C300AB"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "enumerationFacets"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0C300AC"
		    label      	"enumerationFacets"
		    supplier   	"Logical View::xsd::XSDEnumerationFacet"
		    quidu      	"3B6C6ACE0141"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$204"
	    quid       	"3C28B0C50159"
	    roles      	(list role_list
		(object Role "$UNNAMED$205"
		    quid       	"3C28B0C600B0"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "patternFacets"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0C600BA"
		    label      	"patternFacets"
		    supplier   	"Logical View::xsd::XSDPatternFacet"
		    quidu      	"3B6C6ADB026C"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$206"
	    quid       	"3C28B0C802A7"
	    roles      	(list role_list
		(object Role "$UNNAMED$207"
		    quid       	"3C28B0C901EA"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "cardinalityFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0C901F5"
		    label      	"cardinalityFacet"
		    supplier   	"Logical View::xsd::XSDCardinalityFacet"
		    quidu      	"3B6C755D03D2"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$208"
	    quid       	"3C28B0CB039C"
	    roles      	(list role_list
		(object Role "$UNNAMED$209"
		    quid       	"3C28B0CC03D0"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "numericFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0CC03D1"
		    label      	"numericFacet"
		    supplier   	"Logical View::xsd::XSDNumericFacet"
		    quidu      	"3B6C75950206"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$210"
	    quid       	"3C28B0CF0199"
	    roles      	(list role_list
		(object Role "$UNNAMED$211"
		    quid       	"3C28B0D20085"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "maxLengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0D2008F"
		    label      	"maxLengthFacet"
		    supplier   	"Logical View::xsd::XSDMaxLengthFacet"
		    quidu      	"3B6C77C70146"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$212"
	    quid       	"3C28B0D500C5"
	    roles      	(list role_list
		(object Role "$UNNAMED$213"
		    quid       	"3C28B0D6001D"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "minLengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0D60027"
		    label      	"minLengthFacet"
		    supplier   	"Logical View::xsd::XSDMinLengthFacet"
		    quidu      	"3B6C778C0065"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$214"
	    quid       	"3C28B0D800DE"
	    roles      	(list role_list
		(object Role "$UNNAMED$215"
		    quid       	"3C28B0D803CD"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "totalDigitsFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0D803D7"
		    label      	"totalDigitsFacet"
		    supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
		    quidu      	"3B6C79A0020E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$216"
	    quid       	"3C28B0DB0377"
	    roles      	(list role_list
		(object Role "$UNNAMED$217"
		    quid       	"3C28B0DC035A"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "fractionDigitsFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0DC0364"
		    label      	"fractionDigitsFacet"
		    supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
		    quidu      	"3B6C79BE02EE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$218"
	    quid       	"3C28B0DF0048"
	    roles      	(list role_list
		(object Role "$UNNAMED$219"
		    quid       	"3C28B0DF03B9"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "orderedFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0DF03C3"
		    label      	"orderedFacet"
		    supplier   	"Logical View::xsd::XSDOrderedFacet"
		    quidu      	"3B6C74DD0248"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$220"
	    quid       	"3C28B0E300D9"
	    roles      	(list role_list
		(object Role "$UNNAMED$221"
		    quid       	"3C28B0E4038E"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "boundedFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B0E40398"
		    label      	"boundedFacet"
		    supplier   	"Logical View::xsd::XSDBoundedFacet"
		    quidu      	"3B6C751D0344"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$222"
	    quid       	"3C28B44401EC"
	    roles      	(list role_list
		(object Role "$UNNAMED$223"
		    quid       	"3C28B4450360"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveMaxFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B445036A"
		    label      	"effectiveMaxFacet"
		    supplier   	"Logical View::xsd::XSDMaxFacet"
		    quidu      	"3C0A1CEB010E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$224"
	    quid       	"3C28B54F0145"
	    roles      	(list role_list
		(object Role "$UNNAMED$225"
		    quid       	"3C28B550038C"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveWhiteSpaceFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B5500396"
		    label      	"effectiveWhiteSpaceFacet"
		    supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
		    quidu      	"3B6C784601B7"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$226"
	    quid       	"3C28B5C4011C"
	    roles      	(list role_list
		(object Role "$UNNAMED$227"
		    quid       	"3C28B5C5020D"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveMaxLengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B5C50217"
		    label      	"effectiveMaxLengthFacet"
		    supplier   	"Logical View::xsd::XSDMaxLengthFacet"
		    quidu      	"3B6C77C70146"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$228"
	    quid       	"3C28B62A00AA"
	    roles      	(list role_list
		(object Role "$UNNAMED$229"
		    quid       	"3C28B62B0138"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveFractionDigitsFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B62B0142"
		    label      	"effectiveFractionDigitsFacet"
		    supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
		    quidu      	"3B6C79BE02EE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$230"
	    quid       	"3C28B6B003A6"
	    roles      	(list role_list
		(object Role "$UNNAMED$231"
		    quid       	"3C28B6B10311"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectivePatternFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B6B10312"
		    label      	"effectivePatternFacet"
		    supplier   	"Logical View::xsd::XSDPatternFacet"
		    quidu      	"3B6C6ADB026C"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$232"
	    quid       	"3C28B7CA026B"
	    roles      	(list role_list
		(object Role "$UNNAMED$233"
		    quid       	"3C28B7CB0186"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveEnumerationFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B7CB0190"
		    label      	"effectiveEnumerationFacet"
		    supplier   	"Logical View::xsd::XSDEnumerationFacet"
		    quidu      	"3B6C6ACE0141"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$234"
	    quid       	"3C28B8400062"
	    roles      	(list role_list
		(object Role "$UNNAMED$235"
		    quid       	"3C28B841001D"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveTotalDigitsFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B8410027"
		    label      	"effectiveTotalDigitsFacet"
		    supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
		    quidu      	"3B6C79A0020E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$236"
	    quid       	"3C28B898016D"
	    roles      	(list role_list
		(object Role "$UNNAMED$237"
		    quid       	"3C28B8990056"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveMinLengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B8990060"
		    label      	"effectiveMinLengthFacet"
		    supplier   	"Logical View::xsd::XSDMinLengthFacet"
		    quidu      	"3B6C778C0065"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$238"
	    quid       	"3C28B8DC0052"
	    roles      	(list role_list
		(object Role "$UNNAMED$239"
		    quid       	"3C28B8DC03B9"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveLengthFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B8DC03C3"
		    label      	"effectiveLengthFacet"
		    supplier   	"Logical View::xsd::XSDLengthFacet"
		    quidu      	"3B6C776200E7"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$240"
	    quid       	"3C28B97001DB"
	    roles      	(list role_list
		(object Role "$UNNAMED$241"
		    quid       	"3C28B97100CF"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "effectiveMinFacet"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3C28B97100D9"
		    label      	"effectiveMinFacet"
		    supplier   	"Logical View::xsd::XSDMinFacet"
		    quidu      	"3C0A1CDE037C"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$242"
	    quid       	"3D4BB4AE01CC"
	    roles      	(list role_list
		(object Role "$UNNAMED$243"
		    quid       	"3D4BB4AF010F"
		    supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
		    quidu      	"3B682BA7005D"
		    is_aggregate 	TRUE)
		(object Role "syntheticFacets"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D4BB4AF011A"
		    label      	"syntheticFacets"
		    supplier   	"Logical View::xsd::XSDFacet"
		    quidu      	"3B6C359403D2"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$244"
	    quid       	"3D4BB4D3028E"
	    roles      	(list role_list
		(object Role "$UNNAMED$245"
		    quid       	"3D4BB4D402F3"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "syntheticParticle"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D4BB4D402FD"
		    label      	"syntheticParticle"
		    supplier   	"Logical View::xsd::XSDParticle"
		    quidu      	"3B682BBD01F7"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$246"
	    quid       	"3D4BB4D901F6"
	    roles      	(list role_list
		(object Role "$UNNAMED$247"
		    quid       	"3D4BB4DA0284"
		    supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
		    quidu      	"3B682B82031A"
		    is_aggregate 	TRUE)
		(object Role "syntheticWildcard"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D4BB4DA028E"
		    label      	"syntheticWildcard"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$248"
	    quid       	"3D4C68FF01BF"
	    roles      	(list role_list
		(object Role "$UNNAMED$249"
		    quid       	"3D4C69020317"
		    supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
		    quidu      	"3B66ED840290"
		    is_aggregate 	TRUE)
		(object Role "syntheticWildcard"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D4C69020318"
		    label      	"syntheticWildcard"
		    supplier   	"Logical View::xsd::XSDWildcard"
		    quidu      	"3B6838370031"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "1. Component Hierarchy (Part 1: Structures)"
	    quid       	"3B6847680138"
	    title      	"1. Component Hierarchy (Part 1: Structures)"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDComponent" @1
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(928, 80)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(766, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846E90029"
		    width      	342
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @2
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1168, 560)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(940, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	456
			justify    	0
			label      	"XSDNamedComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846D303A4"
		    width      	474
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @3
		    location   	(928, 225)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@1
		    vertices   	(list Points
			(928, 225)
			(928, 135)))
		(object ClassView "Class" "Logical View::xsd::XSDTerm" @4
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1568, 320)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(1460, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	216
			justify    	0
			label      	"XSDTerm")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683C5E0174"
		    width      	234
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @5
		    location   	(1203, 706)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@2
		    vertices   	(list Points
			(1203, 706)
			(1203, 615)))
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @6
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 560)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(372, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	504
			justify    	0
			label      	"XSDComplexTypeContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683BA00196"
		    width      	522
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @7
		    location   	(444, 709)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@6
		    vertices   	(list Points
			(444, 709)
			(444, 615)))
		(object InheritTreeView "" @8
		    location   	(1572, 465)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@4
		    vertices   	(list Points
			(1572, 465)
			(1572, 375)))
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @9
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 800)
		    label      	(object ItemLabel
			Parent_View 	@9
			location   	(290, 757)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	270
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @10
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 1056)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@10
			location   	(262, 1013)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	390
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @11
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1104, 320)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(936, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	336
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    width      	354
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @12
		    location   	(453, 1203)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@10
		    vertices   	(list Points
			(453, 1203)
			(453, 1111)))
		(object ClassView "Class" "Logical View::xsd::XSDScope" @13
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(176, 320)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@13
			location   	(62, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"XSDScope")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B54000F2"
		    width      	246
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDFeature" @14
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1872, 800)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@14
			location   	(1746, 757)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDFeature")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B537026C"
		    width      	270
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @15
		    location   	(1872, 950)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@14
		    vertices   	(list Points
			(1872, 950)
			(1872, 855)))
		(object InheritTreeView "" @16
		    location   	(181, 465)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@13
		    vertices   	(list Points
			(181, 465)
			(181, 375)))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @17
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1936, 1280)
		    label      	(object ItemLabel
			Parent_View 	@17
			location   	(1670, 1233)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	550
		    height     	118
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @18
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 1056)
		    label      	(object ItemLabel
			Parent_View 	@18
			location   	(1734, 1013)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	486
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @19
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1488)
		    label      	(object ItemLabel
			Parent_View 	@19
			location   	(1569, 1444)
			fill_color 	13434879
			nlines     	1
			max_width  	638
			justify    	0
			label      	"XSDIdentityConstraintDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B2603A2"
		    width      	656
		    height     	112
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @20
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1184, 1488)
		    label      	(object ItemLabel
			Parent_View 	@20
			location   	(903, 1444)
			fill_color 	13434879
			nlines     	1
			max_width  	563
			justify    	0
			label      	"XSDNotationDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDAA021C"
		    width      	581
		    height     	112
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @21
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1600, 560)
		    label      	(object ItemLabel
			Parent_View 	@21
			location   	(1462, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	276
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    width      	294
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @22
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1024, 1056)
		    label      	(object ItemLabel
			Parent_View 	@22
			location   	(778, 1013)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	510
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroup" @23
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 560)
		    label      	(object ItemLabel
			Parent_View 	@23
			location   	(1806, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDModelGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6834E00291"
		    width      	342
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @24
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1296)
		    label      	(object ItemLabel
			Parent_View 	@24
			location   	(106, 1253)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    width      	510
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @25
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 560)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(60, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	264
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	282
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @26
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 1280)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(802, 1237)
			fill_color 	13434879
			nlines     	1
			max_width  	540
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	558
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @27
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 1488)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(30, 1441)
			fill_color 	13434879
			nlines     	1
			max_width  	676
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	694
		    height     	119
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAnnotation" @28
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(576, 320)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(426, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	300
			justify    	0
			label      	"XSDAnnotation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDC80233"
		    width      	318
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @29
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 320)
		    label      	(object ItemLabel
			Parent_View 	@29
			location   	(1808, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"XSDXPathDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6D83BB0355"
		    width      	402
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @30
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B72D7BB0349"
		    client     	@11
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1094, 265)
		    terminal_attachment 	(1094, 225)
		    drawSupplier 	@3)
		(object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @31
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 800)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@31
			location   	(690, 757)
			fill_color 	13434879
			nlines     	1
			max_width  	540
			justify    	0
			label      	"XSDRedefinableComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B7FCA8B020B"
		    width      	558
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @32
		    location   	(962, 947)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@31
		    vertices   	(list Points
			(962, 947)
			(962, 855)))
		(object InheritView "" @33
		    stereotype 	(object SegLabel @34
			Parent_View 	@33
			location   	(218, 1154)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	212
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.163534
			height     	69
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B685F55032B"
		    client     	@24
		    supplier   	@6
		    line_style 	3
		    origin_attachment 	(149, 1241)
		    terminal_attachment 	(149, 709)
		    drawSupplier 	@7)
		(object InheritView "" @35
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@24
		    supplier   	@10
		    line_style 	3
		    origin_attachment 	(256, 1241)
		    terminal_attachment 	(256, 1203)
		    drawSupplier 	@12)
		(object InheritView "" @36
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCC4A0182"
		    client     	@25
		    supplier   	@13
		    line_style 	3
		    origin_attachment 	(284, 505)
		    terminal_attachment 	(284, 465)
		    drawSupplier 	@16)
		(object InheritView "" @37
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A640279"
		    client     	@23
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(2002, 505)
		    terminal_attachment 	(2002, 465)
		    drawSupplier 	@8)
		(object InheritView "" @38
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6848AA01D3"
		    client     	@4
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1569, 265)
		    terminal_attachment 	(1569, 225)
		    drawSupplier 	@3)
		(object InheritView "" @39
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A3A0041"
		    client     	@21
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(1490, 505)
		    terminal_attachment 	(1490, 465)
		    drawSupplier 	@8)
		(object InheritView "" @40
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6848FC01E7"
		    client     	@9
		    supplier   	@6
		    line_style 	3
		    origin_attachment 	(510, 745)
		    terminal_attachment 	(510, 709)
		    drawSupplier 	@7)
		(object InheritView "" @41
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC800D2"
		    client     	@26
		    supplier   	@31
		    line_style 	3
		    origin_attachment 	(1321, 1225)
		    terminal_attachment 	(1321, 947)
		    drawSupplier 	@32)
		(object InheritView "" @42
		    stereotype 	(object SegLabel @43
			Parent_View 	@42
			location   	(2137, 886)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	238
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.215812
			height     	64
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B685F17002E"
		    client     	@18
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(2200, 1001)
		    terminal_attachment 	(2200, 465)
		    drawSupplier 	@8)
		(object InheritView "" @44
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69EDEE01BF"
		    client     	@18
		    supplier   	@14
		    line_style 	3
		    origin_attachment 	(2093, 1001)
		    terminal_attachment 	(2093, 950)
		    drawSupplier 	@15)
		(object InheritView "" @45
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAB1004D"
		    client     	@10
		    supplier   	@31
		    line_style 	3
		    origin_attachment 	(450, 1001)
		    terminal_attachment 	(450, 947)
		    drawSupplier 	@32)
		(object InheritView "" @46
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCD640231"
		    client     	@13
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(147, 265)
		    terminal_attachment 	(147, 225)
		    drawSupplier 	@3)
		(object InheritView "" @47
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D84F70092"
		    client     	@29
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(2012, 265)
		    terminal_attachment 	(2012, 225)
		    drawSupplier 	@3)
		(object InheritView "" @48
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6848B80286"
		    client     	@6
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(834, 505)
		    terminal_attachment 	(834, 225)
		    drawSupplier 	@3)
		(object InheritView "" @49
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0CEA20197"
		    client     	@2
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1350, 505)
		    terminal_attachment 	(1350, 225)
		    drawSupplier 	@3)
		(object InheritView "" @50
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69E1770116"
		    client     	@28
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(572, 265)
		    terminal_attachment 	(572, 225)
		    drawSupplier 	@3)
		(object InheritView "" @51
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69B7DC0193"
		    client     	@17
		    supplier   	@14
		    line_style 	3
		    origin_attachment 	(1693, 1221)
		    terminal_attachment 	(1693, 950)
		    drawSupplier 	@15)
		(object InheritView "" @52
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684AA30242"
		    client     	@19
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(1590, 1432)
		    terminal_attachment 	(1590, 706)
		    drawSupplier 	@5)
		(object InheritView "" @53
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68494302F1"
		    client     	@20
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(1431, 1432)
		    terminal_attachment 	(1431, 706)
		    drawSupplier 	@5)
		(object InheritView "" @54
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A26036D"
		    client     	@31
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(959, 745)
		    terminal_attachment 	(959, 706)
		    drawSupplier 	@5)
		(object InheritView "" @55
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A2C0307"
		    client     	@14
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(1872, 745)
		    terminal_attachment 	(1872, 706)
		    drawSupplier 	@5)
		(object InheritView "" @56
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC40090"
		    client     	@22
		    supplier   	@31
		    line_style 	3
		    origin_attachment 	(962, 1001)
		    terminal_attachment 	(962, 947)
		    drawSupplier 	@32)
		(object InheritView "" @57
		    stereotype 	(object SegLabel @58
			Parent_View 	@57
			location   	(95, 1388)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	187
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.042531
			height     	67
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B69BAA20310"
		    client     	@27
		    supplier   	@13
		    line_style 	3
		    origin_attachment 	(28, 1429)
		    terminal_attachment 	(28, 465)
		    drawSupplier 	@16)
		(object InheritView "" @59
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@27
		    supplier   	@10
		    line_style 	3
		    origin_attachment 	(656, 1429)
		    terminal_attachment 	(656, 1203)
		    drawSupplier 	@12)))
	(object ClassDiagram "2. Component Relations (Part 1 : Structures)"
	    quid       	"374B18190028"
	    title      	"2. Component Relations (Part 1 : Structures)"
	    zoom       	96
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDScope" @60
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(784, 1632)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@60
			location   	(670, 1591)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"XSDScope")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B54000F2"
		    width      	246
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDFeature" @61
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 1632)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@61
			location   	(66, 1591)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDFeature")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B537026C"
		    width      	270
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$64" @62
		    location   	(494, 1627)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69B653017A"
		    roleview_list 	(list RoleViews
			(object RoleView "scope" @63
			    Parent_View 	@62
			    location   	(286, -485)
			    label      	(object SegLabel @64
				Parent_View 	@63
				location   	(555, 1589)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+scope"
				pctDist    	0.371257
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69B654006D"
			    client     	@62
			    supplier   	@60
			    line_style 	3
			    origin_attachment 	(494, 1627)
			    terminal_attachment 	(661, 1627)
			    label      	(object SegLabel @65
				Parent_View 	@63
				location   	(576, 1664)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.491018
				height     	37
				orientation 	1))
			(object RoleView "$UNNAMED$65" @66
			    Parent_View 	@62
			    location   	(286, -485)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69B654006E"
			    client     	@62
			    supplier   	@61
			    line_style 	3
			    origin_attachment 	(494, 1627)
			    terminal_attachment 	(327, 1627))))
		(object ClassView "Class" "Logical View::xsd::XSDTerm" @67
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2192, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@67
			location   	(2084, 1191)
			fill_color 	13434879
			nlines     	1
			max_width  	216
			justify    	0
			label      	"XSDTerm")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683C5E0174"
		    width      	234
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @68
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2176, 992)
		    label      	(object ItemLabel
			Parent_View 	@68
			location   	(2051, 951)
			fill_color 	13434879
			nlines     	1
			max_width  	250
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	268
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$96" @69
		    location   	(2229, 1112)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B683C890122"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$97" @70
			    Parent_View 	@69
			    location   	(549, -248)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B683C8A0110"
			    client     	@69
			    supplier   	@68
			    line_style 	3
			    origin_attachment 	(2229, 1112)
			    terminal_attachment 	(2229, 1045))
			(object RoleView "term" @71
			    Parent_View 	@69
			    location   	(549, -248)
			    label      	(object SegLabel @72
				Parent_View 	@71
				location   	(2157, 1121)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	108
				justify    	0
				label      	"+term"
				pctDist    	0.134328
				height     	72
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B683C8A0111"
			    client     	@69
			    supplier   	@67
			    line_style 	3
			    origin_attachment 	(2229, 1112)
			    terminal_attachment 	(2229, 1179)
			    label      	(object SegLabel @73
				Parent_View 	@71
				location   	(2274, 1119)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.119403
				height     	45
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @74
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@74
			location   	(1076, 1191)
			fill_color 	13434879
			nlines     	1
			max_width  	504
			justify    	0
			label      	"XSDComplexTypeContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683BA00196"
		    width      	522
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroup" @75
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 768)
		    label      	(object ItemLabel
			Parent_View 	@75
			location   	(1977, 727)
			fill_color 	13434879
			nlines     	1
			max_width  	334
			justify    	0
			label      	"XSDModelGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6834E00291"
		    width      	352
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$84" @76
		    location   	(2219, 880)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B683606026F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$85" @77
			    Parent_View 	@76
			    location   	(-357, -240)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6836070221"
			    client     	@76
			    supplier   	@75
			    line_style 	3
			    origin_attachment 	(2219, 880)
			    terminal_attachment 	(2219, 821))
			(object RoleView "particles" @78
			    Parent_View 	@76
			    location   	(-357, -240)
			    label      	(object SegLabel @79
				Parent_View 	@78
				location   	(2105, 888)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+particles"
				pctDist    	0.156627
				height     	115
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6836070222"
			    client     	@76
			    supplier   	@68
			    line_style 	3
			    origin_attachment 	(2219, 880)
			    terminal_attachment 	(2219, 939)
			    label      	(object SegLabel @80
				Parent_View 	@78
				location   	(2281, 888)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"1..*"
				pctDist    	0.156627
				height     	62
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @81
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1776, 992)
		    label      	(object ItemLabel
			Parent_View 	@81
			location   	(1639, 951)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    width      	292
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @82
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 1424)
		    label      	(object ItemLabel
			Parent_View 	@82
			location   	(905, 1383)
			fill_color 	13434879
			nlines     	1
			max_width  	334
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    width      	352
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @83
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 992)
		    label      	(object ItemLabel
			Parent_View 	@83
			location   	(187, 951)
			fill_color 	13434879
			nlines     	1
			max_width  	490
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    width      	508
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$130" @84
		    location   	(590, 1140)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D35AB0273"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$131" @85
			    Parent_View 	@84
			    location   	(302, 148)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D35B20291"
			    client     	@84
			    supplier   	@83
			    vertices   	(list Points
				(590, 1140)
				(540, 1140)
				(540, 1045))
			    line_style 	3
			    origin_attachment 	(590, 1140)
			    terminal_attachment 	(540, 1045))
			(object RoleView "baseTypeDefinition" @86
			    Parent_View 	@84
			    location   	(302, 148)
			    label      	(object SegLabel @87
				Parent_View 	@86
				location   	(643, 1171)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+baseTypeDefinition"
				pctDist    	1.053571
				height     	31
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D35B202A5"
			    client     	@84
			    supplier   	@83
			    vertices   	(list Points
				(590, 1140)
				(641, 1140)
				(641, 1045))
			    line_style 	3
			    origin_attachment 	(590, 1140)
			    terminal_attachment 	(641, 1045)
			    label      	(object SegLabel @88
				Parent_View 	@86
				location   	(584, 1097)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.122449
				height     	44
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @89
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1008, 992)
		    label      	(object ItemLabel
			Parent_View 	@89
			location   	(745, 951)
			fill_color 	13434879
			nlines     	1
			max_width  	526
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	544
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$32" @90
		    location   	(1119, 1112)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6837DF024F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$33" @91
			    Parent_View 	@90
			    location   	(-1569, -8)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837E100FD"
			    client     	@90
			    supplier   	@89
			    line_style 	3
			    origin_attachment 	(1119, 1112)
			    terminal_attachment 	(1119, 1045))
			(object RoleView "contentType" @92
			    Parent_View 	@90
			    location   	(-1569, -8)
			    label      	(object SegLabel @93
				Parent_View 	@92
				location   	(1259, 1126)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	252
				justify    	0
				label      	"+contentType"
				pctDist    	0.208955
				height     	140
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837E100FE"
			    client     	@90
			    supplier   	@74
			    line_style 	3
			    origin_attachment 	(1119, 1112)
			    terminal_attachment 	(1119, 1179)
			    label      	(object SegLabel @94
				Parent_View 	@92
				location   	(1063, 1126)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.208955
				height     	57
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$38" @95
		    location   	(1455, 982)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6851BA0126"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$39" @96
			    Parent_View 	@95
			    location   	(159, -570)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6851BB0150"
			    client     	@95
			    supplier   	@89
			    line_style 	3
			    origin_attachment 	(1455, 982)
			    terminal_attachment 	(1280, 982))
			(object RoleView "attributeWildcard" @97
			    Parent_View 	@95
			    location   	(159, -570)
			    label      	(object SegLabel @98
				Parent_View 	@97
				location   	(1445, 929)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+attributeWildcard"
				pctDist    	-0.062857
				height     	54
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6851BB0151"
			    client     	@95
			    supplier   	@81
			    line_style 	3
			    origin_attachment 	(1455, 982)
			    terminal_attachment 	(1630, 982)
			    label      	(object SegLabel @99
				Parent_View 	@97
				location   	(1550, 1022)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.542857
				height     	40
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$34" @100
		    location   	(921, 1208)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B683959006E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$35" @101
			    Parent_View 	@100
			    location   	(-871, -376)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6839590349"
			    client     	@100
			    supplier   	@89
			    line_style 	3
			    origin_attachment 	(921, 1208)
			    terminal_attachment 	(921, 1045))
			(object RoleView "attributeUses" @102
			    Parent_View 	@100
			    location   	(-871, -376)
			    label      	(object SegLabel @103
				Parent_View 	@102
				location   	(778, 1251)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+attributeUses"
				pctDist    	0.269939
				height     	144
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B683959034A"
			    client     	@100
			    supplier   	@82
			    line_style 	3
			    origin_attachment 	(921, 1208)
			    terminal_attachment 	(921, 1371)
			    label      	(object SegLabel @104
				Parent_View 	@102
				location   	(979, 1254)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.288344
				height     	58
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @105
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 768)
		    label      	(object ItemLabel
			Parent_View 	@105
			location   	(1122, 727)
			fill_color 	13434879
			nlines     	1
			max_width  	380
			justify    	0
			label      	"XSDXPathDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6D83BB0355"
		    width      	398
		    height     	107
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @106
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 1632)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(1623, 1591)
			fill_color 	13434879
			nlines     	1
			max_width  	466
			justify    	0
			label      	"XSDNotationDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDAA021C"
		    width      	484
		    height     	107
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @107
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 448)
		    label      	(object ItemLabel
			Parent_View 	@107
			location   	(1803, 407)
			fill_color 	13434879
			nlines     	1
			max_width  	490
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	508
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$88" @108
		    location   	(2216, 608)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6837AC025A"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$89" @109
			    Parent_View 	@108
			    location   	(-552, -816)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837AD0338"
			    client     	@108
			    supplier   	@107
			    line_style 	3
			    origin_attachment 	(2216, 608)
			    terminal_attachment 	(2216, 501))
			(object RoleView "modelGroup" @110
			    Parent_View 	@108
			    location   	(-552, -816)
			    label      	(object SegLabel @111
				Parent_View 	@110
				location   	(2080, 628)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	252
				justify    	0
				label      	"+modelGroup"
				pctDist    	0.182609
				height     	137
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837AD0339"
			    client     	@108
			    supplier   	@75
			    line_style 	3
			    origin_attachment 	(2216, 608)
			    terminal_attachment 	(2216, 715)
			    label      	(object SegLabel @112
				Parent_View 	@110
				location   	(2256, 633)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.233645
				height     	40
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @113
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1424)
		    label      	(object ItemLabel
			Parent_View 	@113
			location   	(1619, 1383)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	556
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$18" @114
		    location   	(1676, 1208)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6887BF0150"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$19" @115
			    Parent_View 	@114
			    location   	(412, -344)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6887C000A7"
			    client     	@114
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(1676, 1208)
			    terminal_attachment 	(1676, 1371))
			(object RoleView "attributeWildcard" @116
			    Parent_View 	@114
			    location   	(412, -344)
			    label      	(object SegLabel @117
				Parent_View 	@116
				location   	(1857, 1106)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+attributeWildcard"
				pctDist    	0.625767
				height     	181
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6887C000A8"
			    client     	@114
			    supplier   	@81
			    line_style 	3
			    origin_attachment 	(1676, 1208)
			    terminal_attachment 	(1676, 1045)
			    label      	(object SegLabel @118
				Parent_View 	@116
				location   	(1618, 1108)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.619632
				height     	59
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$14" @119
		    location   	(1429, 1438)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68359F0086"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$15" @120
			    Parent_View 	@119
			    location   	(-363, -146)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6835A00069"
			    client     	@119
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(1429, 1438)
			    terminal_attachment 	(1610, 1438))
			(object RoleView "attributeUses" @121
			    Parent_View 	@119
			    location   	(-363, -146)
			    label      	(object SegLabel @122
				Parent_View 	@121
				location   	(1405, 1506)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+attributeUses"
				pctDist    	0.132597
				height     	68
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6835A0006A"
			    client     	@119
			    supplier   	@82
			    line_style 	3
			    origin_attachment 	(1429, 1438)
			    terminal_attachment 	(1248, 1438)
			    label      	(object SegLabel @123
				Parent_View 	@121
				location   	(1327, 1391)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.563536
				height     	48
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @124
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 1424)
		    label      	(object ItemLabel
			Parent_View 	@124
			location   	(183, 1383)
			fill_color 	13434879
			nlines     	1
			max_width  	466
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	484
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$22" @125
		    location   	(777, 1425)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B683585010D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$23" @126
			    Parent_View 	@125
			    location   	(-519, -367)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68358600FA"
			    client     	@125
			    supplier   	@82
			    line_style 	3
			    origin_attachment 	(777, 1425)
			    terminal_attachment 	(896, 1425))
			(object RoleView "attributeDeclaration" @127
			    Parent_View 	@125
			    location   	(-519, -367)
			    label      	(object SegLabel @128
				Parent_View 	@127
				location   	(784, 1508)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+attributeDeclaration"
				pctDist    	-0.059259
				height     	83
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68358600FB"
			    client     	@125
			    supplier   	@124
			    line_style 	3
			    origin_attachment 	(777, 1425)
			    terminal_attachment 	(658, 1425)
			    label      	(object SegLabel @129
				Parent_View 	@127
				location   	(721, 1385)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.472441
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$6" @130
		    location   	(237, 1208)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68356B02CB"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$7" @131
			    Parent_View 	@130
			    location   	(-1043, 72)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68356D00A6"
			    client     	@130
			    supplier   	@124
			    line_style 	3
			    origin_attachment 	(237, 1208)
			    terminal_attachment 	(237, 1371))
			(object RoleView "typeDefinition" @132
			    Parent_View 	@130
			    location   	(-1043, 72)
			    label      	(object SegLabel @133
				Parent_View 	@132
				location   	(388, 1247)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+typeDefinition"
				pctDist    	-0.239264
				height     	151
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68356D00A7"
			    client     	@130
			    supplier   	@83
			    line_style 	3
			    origin_attachment 	(237, 1208)
			    terminal_attachment 	(237, 1045)
			    label      	(object SegLabel @134
				Parent_View 	@132
				location   	(195, 1247)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.239264
				height     	43
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @135
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 784)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@135
			location   	(198, 743)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	390
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$28" @136
		    location   	(728, 775)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6833350340"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$29" @137
			    Parent_View 	@136
			    location   	(-856, -57)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B683336028D"
			    client     	@136
			    supplier   	@89
			    vertices   	(list Points
				(728, 775)
				(788, 775)
				(788, 939))
			    line_style 	3
			    origin_attachment 	(728, 775)
			    terminal_attachment 	(788, 939))
			(object RoleView "baseTypeDefinition" @138
			    Parent_View 	@136
			    location   	(-856, -57)
			    label      	(object SegLabel @139
				Parent_View 	@138
				location   	(558, 883)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+baseTypeDefinition"
				pctDist    	1.140940
				height     	108
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B683336028E"
			    client     	@136
			    supplier   	@135
			    line_style 	3
			    origin_attachment 	(728, 775)
			    terminal_attachment 	(579, 775)
			    label      	(object SegLabel @140
				Parent_View 	@138
				location   	(750, 812)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.152439
				height     	37
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @141
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 448)
		    label      	(object ItemLabel
			Parent_View 	@141
			location   	(1017, 407)
			fill_color 	13434879
			nlines     	1
			max_width  	590
			justify    	0
			label      	"XSDIdentityConstraintDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B2603A2"
		    width      	608
		    height     	107
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$70" @142
		    location   	(1629, 574)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69D29E014D"
		    roleview_list 	(list RoleViews
			(object RoleView "referencedKey" @143
			    Parent_View 	@142
			    location   	(-83, 94)
			    label      	(object SegLabel @144
				Parent_View 	@143
				location   	(1761, 608)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+referencedKey"
				pctDist    	-1.797297
				height     	34
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69D2A80165"
			    client     	@142
			    supplier   	@141
			    vertices   	(list Points
				(1629, 574)
				(1555, 574)
				(1555, 501))
			    line_style 	3
			    origin_attachment 	(1629, 574)
			    terminal_attachment 	(1555, 501)
			    label      	(object SegLabel @145
				Parent_View 	@143
				location   	(1622, 539)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.047619
				height     	36
				orientation 	1))
			(object RoleView "$UNNAMED$71" @146
			    Parent_View 	@142
			    location   	(-83, 94)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69D2A8016F"
			    client     	@142
			    supplier   	@141
			    vertices   	(list Points
				(1629, 574)
				(1689, 574)
				(1689, 444)
				(1616, 444))
			    line_style 	3
			    origin_attachment 	(1629, 574)
			    terminal_attachment 	(1616, 444))))
		(object AssociationViewNew "$UNNAMED$74" @147
		    location   	(1197, 608)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D8D330025"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$75" @148
			    Parent_View 	@147
			    location   	(-115, 32)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D330365"
			    client     	@147
			    supplier   	@141
			    line_style 	3
			    origin_attachment 	(1197, 608)
			    terminal_attachment 	(1197, 501))
			(object RoleView "fields" @149
			    Parent_View 	@147
			    location   	(-115, 32)
			    label      	(object SegLabel @150
				Parent_View 	@149
				location   	(1119, 655)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	120
				justify    	0
				label      	"+fields"
				pctDist    	0.439252
				height     	78
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D330379"
			    client     	@147
			    supplier   	@105
			    line_style 	3
			    origin_attachment 	(1197, 608)
			    terminal_attachment 	(1197, 715)
			    label      	(object SegLabel @151
				Parent_View 	@149
				location   	(1253, 654)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"1..*"
				pctDist    	0.429907
				height     	56
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$72" @152
		    location   	(1415, 608)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D8D3D003E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$73" @153
			    Parent_View 	@152
			    location   	(103, 32)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D3E022A"
			    client     	@152
			    supplier   	@141
			    line_style 	3
			    origin_attachment 	(1415, 608)
			    terminal_attachment 	(1415, 501))
			(object RoleView "selector" @154
			    Parent_View 	@152
			    location   	(103, 32)
			    label      	(object SegLabel @155
				Parent_View 	@154
				location   	(1513, 651)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+selector"
				pctDist    	0.411215
				height     	98
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D3E0234"
			    client     	@152
			    supplier   	@105
			    line_style 	3
			    origin_attachment 	(1415, 608)
			    terminal_attachment 	(1415, 715)
			    label      	(object SegLabel @156
				Parent_View 	@154
				location   	(1381, 650)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.392523
				height     	34
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @157
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    location   	(1312, 160)
		    label      	(object ItemLabel
			Parent_View 	@157
			location   	(1022, 68)
			fill_color 	13434879
			nlines     	1
			max_width  	581
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	599
		    height     	209
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$116" @158
		    location   	(2395, 606)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66EEA7023E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$117" @159
			    Parent_View 	@158
			    location   	(-853, 174)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EEA8038A"
			    client     	@158
			    supplier   	@157
			    vertices   	(list Points
				(2395, 606)
				(2395, 65)
				(1611, 65))
			    line_style 	3
			    origin_attachment 	(2395, 606)
			    terminal_attachment 	(1611, 65))
			(object RoleView "notationDeclarations" @160
			    Parent_View 	@158
			    location   	(-853, 174)
			    label      	(object SegLabel @161
				Parent_View 	@160
				location   	(2089, 104)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+notationDeclarations"
				pctDist    	-0.489776
				height     	307
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EEA8038B"
			    client     	@158
			    supplier   	@106
			    vertices   	(list Points
				(2395, 606)
				(2395, 1633)
				(2098, 1633))
			    line_style 	3
			    origin_attachment 	(2395, 606)
			    terminal_attachment 	(2098, 1633)
			    label      	(object SegLabel @162
				Parent_View 	@160
				location   	(2344, 105)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	-0.487829
				height     	52
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$112" @163
		    location   	(1772, 249)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66EEFF024F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$113" @164
			    Parent_View 	@163
			    location   	(-948, -327)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EF00025A"
			    client     	@163
			    supplier   	@157
			    line_style 	3
			    origin_attachment 	(1772, 249)
			    terminal_attachment 	(1611, 249))
			(object RoleView "modelGroupDefinitions" @165
			    Parent_View 	@163
			    location   	(-948, -327)
			    label      	(object SegLabel @166
				Parent_View 	@165
				location   	(2076, 335)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	432
				justify    	0
				label      	"+modelGroupDefinitions"
				pctDist    	0.713592
				height     	244
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EF000264"
			    client     	@163
			    supplier   	@107
			    vertices   	(list Points
				(1772, 249)
				(1832, 249)
				(1832, 395))
			    line_style 	3
			    origin_attachment 	(1772, 249)
			    terminal_attachment 	(1832, 395)
			    label      	(object SegLabel @167
				Parent_View 	@165
				location   	(1781, 340)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.737864
				height     	52
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$108" @168
		    location   	(2346, 518)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66EE920216"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$109" @169
			    Parent_View 	@168
			    location   	(154, 86)
			    label      	(object SegLabel @170
				Parent_View 	@169
				location   	(1872, 1857)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	-3.630072
				height     	475
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE93018B"
			    client     	@168
			    supplier   	@157
			    vertices   	(list Points
				(2346, 518)
				(2346, 149)
				(1611, 149))
			    line_style 	3
			    origin_attachment 	(2346, 518)
			    terminal_attachment 	(1611, 149))
			(object RoleView "attributeGroupDefinitions" @171
			    Parent_View 	@168
			    location   	(154, 86)
			    label      	(object SegLabel @172
				Parent_View 	@171
				location   	(2008, 195)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	468
				justify    	0
				label      	"+attributeGroupDefinitions"
				pctDist    	-0.349946
				height     	339
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE93018C"
			    client     	@168
			    supplier   	@113
			    vertices   	(list Points
				(2346, 518)
				(2346, 1441)
				(2166, 1441))
			    line_style 	3
			    origin_attachment 	(2346, 518)
			    terminal_attachment 	(2166, 1441)
			    label      	(object SegLabel @173
				Parent_View 	@171
				location   	(2299, 197)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	-0.348862
				height     	48
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$110" @174
		    location   	(203, 159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66EE760049"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$111" @175
			    Parent_View 	@174
			    location   	(-485, -273)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE760374"
			    client     	@174
			    supplier   	@157
			    line_style 	3
			    origin_attachment 	(203, 159)
			    terminal_attachment 	(1013, 159))
			(object RoleView "typeDefinitions" @176
			    Parent_View 	@174
			    location   	(-485, -273)
			    label      	(object SegLabel @177
				Parent_View 	@176
				location   	(349, 196)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+typeDefinitions"
				pctDist    	-1.475728
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE76037E"
			    client     	@174
			    supplier   	@135
			    vertices   	(list Points
				(203, 159)
				(104, 159)
				(104, 784)
				(189, 784))
			    line_style 	3
			    origin_attachment 	(203, 159)
			    terminal_attachment 	(189, 784)
			    label      	(object SegLabel @178
				Parent_View 	@176
				location   	(155, 200)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.059701
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$114" @179
		    location   	(1087, 329)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BFC2A1701ED"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$115" @180
			    Parent_View 	@179
			    location   	(-577, -23)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFC2A1A0273"
			    client     	@179
			    supplier   	@157
			    line_style 	3
			    origin_attachment 	(1087, 329)
			    terminal_attachment 	(1087, 264))
			(object RoleView "identityConstraintDefinitions" @181
			    Parent_View 	@179
			    location   	(-577, -23)
			    label      	(object SegLabel @182
				Parent_View 	@181
				location   	(1375, 338)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	528
				justify    	0
				label      	"+identityConstraintDefinitions"
				pctDist    	0.130952
				height     	288
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFC2A1A027D"
			    client     	@179
			    supplier   	@141
			    line_style 	3
			    origin_attachment 	(1087, 329)
			    terminal_attachment 	(1087, 395)
			    label      	(object SegLabel @183
				Parent_View 	@181
				location   	(1018, 336)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.107143
				height     	70
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$106" @184
		    location   	(48, 320)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66FDFA00C3"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$107" @185
			    Parent_View 	@184
			    location   	(-1072, -288)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66FDFB027D"
			    client     	@184
			    supplier   	@157
			    vertices   	(list Points
				(49, 322)
				(49, 68)
				(1013, 68))
			    line_style 	3
			    origin_attachment 	(49, 322)
			    terminal_attachment 	(1013, 68))
			(object RoleView "attributeDeclarations" @186
			    Parent_View 	@184
			    location   	(-1072, -288)
			    label      	(object SegLabel @187
				Parent_View 	@186
				location   	(338, 106)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+attributeDeclarations"
				pctDist    	-0.198536
				height     	289
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66FDFB027E"
			    client     	@184
			    supplier   	@124
			    vertices   	(list Points
				(49, 322)
				(49, 1415)
				(174, 1415))
			    line_style 	3
			    origin_attachment 	(49, 322)
			    terminal_attachment 	(174, 1415)
			    label      	(object SegLabel @188
				Parent_View 	@186
				location   	(91, 108)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	-0.196706
				height     	42
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @189
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 448)
		    label      	(object ItemLabel
			Parent_View 	@189
			location   	(175, 412)
			fill_color 	13434879
			nlines     	1
			max_width  	483
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	501
		    height     	97
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$56" @190
		    location   	(499, 589)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69C0590198"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$57" @191
			    Parent_View 	@190
			    location   	(-13, 109)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69C05D01E3"
			    client     	@190
			    supplier   	@189
			    vertices   	(list Points
				(499, 589)
				(452, 589)
				(452, 496))
			    line_style 	3
			    origin_attachment 	(499, 589)
			    terminal_attachment 	(452, 496))
			(object RoleView "substitutionGroupAffiliation" @192
			    Parent_View 	@190
			    location   	(-13, 109)
			    label      	(object SegLabel @193
				Parent_View 	@192
				location   	(811, 585)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	504
				justify    	0
				label      	"+substitutionGroupAffiliation"
				pctDist    	6.520833
				height     	5
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69C05D01ED"
			    client     	@190
			    supplier   	@189
			    vertices   	(list Points
				(499, 589)
				(547, 589)
				(547, 496))
			    line_style 	3
			    origin_attachment 	(499, 589)
			    terminal_attachment 	(547, 496)
			    label      	(object SegLabel @194
				Parent_View 	@192
				location   	(499, 559)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.000000
				height     	31
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$50" @195
		    location   	(241, 613)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68338C0058"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$51" @196
			    Parent_View 	@195
			    location   	(-1343, -219)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68338C03BF"
			    client     	@195
			    supplier   	@189
			    line_style 	3
			    origin_attachment 	(241, 613)
			    terminal_attachment 	(241, 496))
			(object RoleView "typeDefinition" @197
			    Parent_View 	@195
			    location   	(-1343, -219)
			    label      	(object SegLabel @198
				Parent_View 	@197
				location   	(408, 694)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+typeDefinition"
				pctDist    	0.686441
				height     	167
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B68338C03C0"
			    client     	@195
			    supplier   	@135
			    line_style 	3
			    origin_attachment 	(241, 613)
			    terminal_attachment 	(241, 731)
			    label      	(object SegLabel @199
				Parent_View 	@197
				location   	(202, 685)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.610169
				height     	39
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$52" @200
		    location   	(837, 460)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6833EF0160"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$53" @201
			    Parent_View 	@200
			    location   	(-1819, -68)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6833F00298"
			    client     	@200
			    supplier   	@189
			    line_style 	3
			    origin_attachment 	(837, 460)
			    terminal_attachment 	(666, 460))
			(object RoleView "identityConstraintDefinitions" @202
			    Parent_View 	@200
			    location   	(-1819, -68)
			    label      	(object SegLabel @203
				Parent_View 	@202
				location   	(880, 528)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	528
				justify    	0
				label      	"+identityConstraintDefinitions"
				pctDist    	0.251462
				height     	68
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6833F00299"
			    client     	@200
			    supplier   	@141
			    line_style 	3
			    origin_attachment 	(837, 460)
			    terminal_attachment 	(1008, 460)
			    label      	(object SegLabel @204
				Parent_View 	@202
				location   	(859, 407)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.130435
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$104" @205
		    location   	(541, 246)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B66EE8D01BF"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$105" @206
			    Parent_View 	@205
			    location   	(-1123, -186)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE8E0198"
			    client     	@205
			    supplier   	@157
			    line_style 	3
			    origin_attachment 	(541, 246)
			    terminal_attachment 	(1013, 246))
			(object RoleView "elementDeclarations" @207
			    Parent_View 	@205
			    location   	(-1123, -186)
			    label      	(object SegLabel @208
				Parent_View 	@207
				location   	(443, 335)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+elementDeclarations"
				pctDist    	0.209302
				height     	89
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B66EE8E0199"
			    client     	@205
			    supplier   	@189
			    vertices   	(list Points
				(541, 246)
				(224, 246)
				(224, 400))
			    line_style 	3
			    origin_attachment 	(541, 246)
			    terminal_attachment 	(224, 400)
			    label      	(object SegLabel @209
				Parent_View 	@207
				location   	(186, 335)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.864693
				height     	39
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$58" @210
		    location   	(353, 621)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C42DBDD0297"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$59" @211
			    Parent_View 	@210
			    location   	(-63, 173)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C42DBE0011E"
			    client     	@210
			    supplier   	@189
			    vertices   	(list Points
				(353, 621)
				(306, 621)
				(306, 496))
			    line_style 	3
			    origin_attachment 	(353, 621)
			    terminal_attachment 	(306, 496))
			(object RoleView "substitutionGroup" @212
			    Parent_View 	@210
			    location   	(-63, 173)
			    label      	(object SegLabel @213
				Parent_View 	@212
				location   	(579, 636)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+substitutionGroup"
				pctDist    	4.808511
				height     	15
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C42DBE00128"
			    client     	@210
			    supplier   	@189
			    vertices   	(list Points
				(353, 621)
				(400, 621)
				(400, 496))
			    line_style 	3
			    origin_attachment 	(353, 621)
			    terminal_attachment 	(400, 496)
			    label      	(object SegLabel @214
				Parent_View 	@212
				location   	(350, 583)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	-0.069767
				height     	39
				orientation 	0))))))
	(object ClassDiagram "3. Component Attributes  (Part 1 : Structures)"
	    quid       	"3B69E78602C5"
	    title      	"3. Component Attributes  (Part 1 : Structures)"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @215
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 128)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@215
			location   	(46, 47)
			fill_color 	13434879
			nlines     	1
			max_width  	516
			justify    	0
			label      	"XSDNamedComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846D303A4"
		    compartment 	(object Compartment
			Parent_View 	@215
			location   	(46, 107)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ name : String"
			    "+ targetNamespace : String"))
		    width      	534
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @216
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 1648)
		    label      	(object ItemLabel
			Parent_View 	@216
			location   	(41, 1567)
			fill_color 	13434879
			nlines     	1
			max_width  	494
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	512
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @217
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2368, 1680)
		    label      	(object ItemLabel
			Parent_View 	@217
			location   	(1781, 1524)
			fill_color 	13434879
			nlines     	1
			max_width  	1174
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    compartment 	(object Compartment
			Parent_View 	@217
			location   	(1781, 1584)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ derivationMethod : XSDDerivationMethod = restriction"
			    "<<0..*>> + final : XSDComplexFinal"
			    "+ abstract : boolean"
			    "+ contentTypeCategory : XSDContentTypeCategory"
			    "<<0..*>> + prohibitedSubstitutions : XSDProhibitedSubstitutions"))
		    width      	1192
		    height     	336
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @218
		    location   	(463, 362)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@215
		    vertices   	(list Points
			(463, 362)
			(463, 221)))
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @219
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1408, 1600)
		    label      	(object ItemLabel
			Parent_View 	@219
			location   	(1094, 1519)
			fill_color 	13434879
			nlines     	1
			max_width  	628
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    compartment 	(object Compartment
			Parent_View 	@219
			location   	(1094, 1579)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ variety : XSDVariety"
			    "<<0..*>> + final : XSDSimpleFinal"))
		    width      	646
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @220
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(912, 144)
		    label      	(object ItemLabel
			Parent_View 	@220
			location   	(647, 38)
			fill_color 	13434879
			nlines     	1
			max_width  	530
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    compartment 	(object Compartment
			Parent_View 	@220
			location   	(647, 98)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ required : boolean"
			    "+ value : Value"
			    "+ constraint : XSDConstraint"))
		    width      	548
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @221
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(688, 1936)
		    label      	(object ItemLabel
			Parent_View 	@221
			location   	(45, 1830)
			fill_color 	13434879
			nlines     	1
			max_width  	1286
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    compartment 	(object Compartment
			Parent_View 	@221
			location   	(45, 1890)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ namespaceConstraintCategory : XSDNamespaceConstraintCategory"
			    "<<0..*>> + namespaceConstraint : String"
			    "+ processContents : XSDProcessContents"))
		    width      	1304
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroup" @222
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(336, 1440)
		    label      	(object ItemLabel
			Parent_View 	@222
			location   	(47, 1384)
			fill_color 	13434879
			nlines     	1
			max_width  	578
			justify    	0
			label      	"XSDModelGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6834E00291"
		    width      	596
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFeature" @223
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 512)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@223
			location   	(36, 431)
			fill_color 	13434879
			nlines     	1
			max_width  	536
			justify    	0
			label      	"XSDFeature")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B537026C"
		    compartment 	(object Compartment
			Parent_View 	@223
			location   	(36, 491)
			font       	(object Font
			    italics    	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ value : Value"
			    "+ constraint : XSDConstraint"))
		    width      	554
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @224
		    location   	(294, 697)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@223
		    vertices   	(list Points
			(294, 697)
			(294, 605)))
		(object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @225
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2256, 128)
		    label      	(object ItemLabel
			Parent_View 	@225
			location   	(1995, 47)
			fill_color 	13434879
			nlines     	1
			max_width  	522
			justify    	0
			label      	"XSDXPathDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6D83BB0355"
		    width      	540
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @226
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2688, 512)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(2418, 460)
			fill_color 	13434879
			nlines     	1
			max_width  	540
			justify    	0
			label      	"XSDRedefinableComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B7FCA8B020B"
		    width      	558
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @227
		    location   	(2684, 962)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@226
		    vertices   	(list Points
			(2684, 962)
			(2684, 576)))
		(object ClassView "Class" "Logical View::xsd::XSDCompositor" @228
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1200)
		    label      	(object ItemLabel
			Parent_View 	@228
			location   	(45, 1116)
			fill_color 	13434879
			nlines     	1
			max_width  	326
			justify    	0
			label      	"XSDCompositor")
		    stereotype 	(object ItemLabel
			Parent_View 	@228
			location   	(45, 1066)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	326
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B869B620037"
		    width      	344
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDConstraint" @229
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 528)
		    label      	(object ItemLabel
			Parent_View 	@229
			location   	(638, 469)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDConstraint")
		    stereotype 	(object ItemLabel
			Parent_View 	@229
			location   	(638, 419)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	324
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B869E2601AE"
		    width      	342
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDDerivationMethod" @230
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2192, 2272)
		    label      	(object ItemLabel
			Parent_View 	@230
			location   	(1980, 2213)
			fill_color 	13434879
			nlines     	1
			max_width  	424
			justify    	0
			label      	"XSDDerivationMethod")
		    stereotype 	(object ItemLabel
			Parent_View 	@230
			location   	(1980, 2163)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	424
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B86A0B000CE"
		    width      	442
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintCategory" @231
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1584, 176)
		    label      	(object ItemLabel
			Parent_View 	@231
			location   	(1281, 88)
			fill_color 	13434879
			nlines     	1
			max_width  	607
			justify    	0
			label      	"XSDIdentityConstraintCategory")
		    stereotype 	(object ItemLabel
			Parent_View 	@231
			location   	(1281, 38)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	607
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B86A1E00272"
		    width      	625
		    height     	300
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDContentTypeCategory" @232
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2704, 2224)
		    label      	(object ItemLabel
			Parent_View 	@232
			location   	(2456, 2115)
			fill_color 	13434879
			nlines     	1
			max_width  	496
			justify    	0
			label      	"XSDContentTypeCategory")
		    stereotype 	(object ItemLabel
			Parent_View 	@232
			location   	(2456, 2065)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	496
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B86A79F03A2"
		    width      	514
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDVariety" @233
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(880, 1600)
		    label      	(object ItemLabel
			Parent_View 	@233
			location   	(708, 1516)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"XSDVariety")
		    stereotype 	(object ItemLabel
			Parent_View 	@233
			location   	(708, 1466)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	344
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B8FF7730249"
		    width      	362
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDProcessContents" @234
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 2240)
		    label      	(object ItemLabel
			Parent_View 	@234
			location   	(766, 2156)
			fill_color 	13434879
			nlines     	1
			max_width  	420
			justify    	0
			label      	"XSDProcessContents")
		    stereotype 	(object ItemLabel
			Parent_View 	@234
			location   	(766, 2106)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	420
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B8FF8C70284"
		    width      	438
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDXPathVariety" @235
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2768, 160)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(2587, 97)
			fill_color 	13434879
			nlines     	1
			max_width  	363
			justify    	0
			label      	"XSDXPathVariety")
		    stereotype 	(object ItemLabel
			Parent_View 	@235
			location   	(2587, 47)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	363
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B8FFB89033A"
		    width      	381
		    height     	250
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @236
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 1872)
		    label      	(object ItemLabel
			Parent_View 	@236
			location   	(1389, 1788)
			fill_color 	13434879
			nlines     	1
			max_width  	326
			justify    	0
			label      	"XSDSimpleFinal")
		    stereotype 	(object ItemLabel
			Parent_View 	@236
			location   	(1389, 1738)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	326
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C25D0295"
		    compartment 	(object Compartment
			Parent_View 	@236
			location   	(1389, 1848)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ list"
			    "+ restriction"
			    "+ union"))
		    width      	344
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @237
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 2000)
		    label      	(object ItemLabel
			Parent_View 	@237
			location   	(1786, 1941)
			fill_color 	13434879
			nlines     	1
			max_width  	364
			justify    	0
			label      	"XSDComplexFinal")
		    stereotype 	(object ItemLabel
			Parent_View 	@237
			location   	(1786, 1891)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	364
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C2CA01CB"
		    compartment 	(object Compartment
			Parent_View 	@237
			location   	(1786, 2001)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ extension"
			    "+ restriction"))
		    width      	382
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSubstitutionGroupExclusions" @238
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 1184)
		    label      	(object ItemLabel
			Parent_View 	@238
			location   	(485, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	630
			justify    	0
			label      	"XSDSubstitutionGroupExclusions")
		    stereotype 	(object ItemLabel
			Parent_View 	@238
			location   	(485, 1075)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	630
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C59100AE"
		    width      	648
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @239
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1440, 1200)
		    label      	(object ItemLabel
			Parent_View 	@239
			location   	(1171, 1116)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"XSDDisallowedSubstitutions")
		    stereotype 	(object ItemLabel
			Parent_View 	@239
			location   	(1171, 1066)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	538
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C5A403DF"
		    compartment 	(object Compartment
			Parent_View 	@239
			location   	(1171, 1176)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ substitution"
			    "+ extension"
			    "+ restriction"))
		    width      	556
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @240
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1664, 2272)
		    label      	(object ItemLabel
			Parent_View 	@240
			location   	(1398, 2213)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"XSDProhibitedSubstitutions")
		    stereotype 	(object ItemLabel
			Parent_View 	@240
			location   	(1398, 2163)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	532
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C5BE0272"
		    compartment 	(object Compartment
			Parent_View 	@240
			location   	(1398, 2273)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ extension"
			    "+ restriction"))
		    width      	550
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDNamespaceConstraintCategory" @241
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 2240)
		    label      	(object ItemLabel
			Parent_View 	@241
			location   	(45, 2154)
			fill_color 	13434879
			nlines     	1
			max_width  	678
			justify    	0
			label      	"XSDNamespaceConstraintCategory")
		    stereotype 	(object ItemLabel
			Parent_View 	@241
			location   	(45, 2104)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	678
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C5EA0023"
		    width      	696
		    height     	296
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @242
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1264, 880)
		    label      	(object ItemLabel
			Parent_View 	@242
			location   	(571, 749)
			fill_color 	13434879
			nlines     	1
			max_width  	1386
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    compartment 	(object Compartment
			Parent_View 	@242
			location   	(571, 809)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ nillable : boolean"
			    "<<0..*>> + disallowedSubstitutions : XSDDisallowedSubstitutions"
			    "<<0..*>> + substitutionGroupExclusions : XSDSubstitutionGroupExclusions"
			    "+ abstract : boolean"))
		    width      	1404
		    height     	286
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @243
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69EDEE01BF"
		    client     	@242
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(681, 737)
		    terminal_attachment 	(681, 697)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @244
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 864)
		    label      	(object ItemLabel
			Parent_View 	@244
			location   	(35, 812)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	492
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @245
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2688, 1152)
		    label      	(object ItemLabel
			Parent_View 	@245
			location   	(2420, 1100)
			fill_color 	13434879
			nlines     	1
			max_width  	536
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	554
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @246
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC800D2"
		    client     	@245
		    supplier   	@226
		    line_style 	3
		    origin_attachment 	(2862, 1088)
		    terminal_attachment 	(2862, 962)
		    drawSupplier 	@227)
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @247
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2352, 1312)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@247
			location   	(2168, 1261)
			fill_color 	13434879
			nlines     	1
			max_width  	368
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	386
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @248
		    location   	(2375, 1465)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@247
		    vertices   	(list Points
			(2375, 1465)
			(2375, 1375)))
		(object InheritView "" @249
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAB1004D"
		    client     	@247
		    supplier   	@226
		    line_style 	3
		    origin_attachment 	(2368, 1249)
		    terminal_attachment 	(2368, 962)
		    drawSupplier 	@227)
		(object InheritView "" @250
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@217
		    supplier   	@247
		    line_style 	3
		    origin_attachment 	(2818, 1512)
		    terminal_attachment 	(2818, 1465)
		    drawSupplier 	@248)
		(object InheritView "" @251
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@219
		    supplier   	@247
		    line_style 	3
		    origin_attachment 	(1406, 1507)
		    terminal_attachment 	(1406, 1465)
		    drawSupplier 	@248)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @252
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2064, 1152)
		    label      	(object ItemLabel
			Parent_View 	@252
			location   	(1818, 1101)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	510
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @253
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC40090"
		    client     	@252
		    supplier   	@226
		    line_style 	3
		    origin_attachment 	(2115, 1089)
		    terminal_attachment 	(2115, 962)
		    drawSupplier 	@227)
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @254
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1600, 528)
		    label      	(object ItemLabel
			Parent_View 	@254
			location   	(1034, 468)
			fill_color 	13434879
			nlines     	1
			max_width  	1132
			justify    	0
			label      	"XSDIdentityConstraintDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B2603A2"
		    width      	1150
		    height     	144
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @255
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684AA30242"
		    client     	@254
		    supplier   	@215
		    line_style 	3
		    origin_attachment 	(1568, 456)
		    terminal_attachment 	(1568, 362)
		    drawSupplier 	@218)
		(object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @256
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 784)
		    label      	(object ItemLabel
			Parent_View 	@256
			location   	(2078, 703)
			fill_color 	13434879
			nlines     	1
			max_width  	484
			justify    	0
			label      	"XSDNotationDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDAA021C"
		    width      	502
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @257
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(176, 320)
		    label      	(object ItemLabel
			Parent_View 	@257
			location   	(43, 268)
			fill_color 	13434879
			nlines     	1
			max_width  	266
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	284
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @258
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68494302F1"
		    client     	@256
		    supplier   	@215
		    line_style 	3
		    origin_attachment 	(2290, 691)
		    terminal_attachment 	(2290, 362)
		    drawSupplier 	@218)
		(object InheritView "" @259
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69B7DC0193"
		    client     	@244
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(141, 800)
		    terminal_attachment 	(141, 697)
		    drawSupplier 	@224)
		(object InheritView "" @260
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A2C0307"
		    client     	@223
		    supplier   	@215
		    line_style 	3
		    origin_attachment 	(372, 419)
		    terminal_attachment 	(372, 362)
		    drawSupplier 	@218)
		(object InheritView "" @261
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A26036D"
		    client     	@226
		    supplier   	@215
		    line_style 	3
		    origin_attachment 	(2687, 448)
		    terminal_attachment 	(2687, 362)
		    drawSupplier 	@218)))
	(object ClassDiagram "4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
	    quid       	"3B6C3265005F"
	    title      	"4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDFixedFacet" @262
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 896)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@262
			location   	(32, 840)
			fill_color 	13434879
			nlines     	1
			max_width  	320
			justify    	0
			label      	"XSDFixedFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C699E00C1"
		    width      	338
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @263
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(720, 896)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@263
			location   	(504, 845)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"XSDRepeatableFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C6AA6031A"
		    width      	450
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @264
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 1168)
		    label      	(object ItemLabel
			Parent_View 	@264
			location   	(266, 1112)
			fill_color 	13434879
			nlines     	1
			max_width  	460
			justify    	0
			label      	"XSDEnumerationFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C6ACE0141"
		    width      	478
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @265
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1008, 1168)
		    label      	(object ItemLabel
			Parent_View 	@265
			location   	(777, 1112)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"XSDPatternFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C6ADB026C"
		    width      	480
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @266
		    location   	(718, 1049)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@263
		    vertices   	(list Points
			(718, 1049)
			(718, 959)))
		(object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @267
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 928)
		    label      	(object ItemLabel
			Parent_View 	@267
			location   	(1799, 872)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"XSDOrderedFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C74DD0248"
		    width      	420
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @268
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1568, 928)
		    label      	(object ItemLabel
			Parent_View 	@268
			location   	(1383, 872)
			fill_color 	13434879
			nlines     	1
			max_width  	370
			justify    	0
			label      	"XSDBoundedFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C751D0344"
		    width      	388
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @269
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2032, 1104)
		    label      	(object ItemLabel
			Parent_View 	@269
			location   	(1807, 1048)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"XSDCardinalityFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C755D03D2"
		    width      	468
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @270
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1504, 1104)
		    label      	(object ItemLabel
			Parent_View 	@270
			location   	(1319, 1049)
			fill_color 	13434879
			nlines     	1
			max_width  	370
			justify    	0
			label      	"XSDNumericFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C75950206"
		    width      	388
		    height     	134
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @271
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 1376)
		    label      	(object ItemLabel
			Parent_View 	@271
			location   	(491, 1320)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"XSDLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C776200E7"
		    width      	348
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @272
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(608, 1552)
		    label      	(object ItemLabel
			Parent_View 	@272
			location   	(405, 1497)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"XSDMinLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C778C0065"
		    width      	424
		    height     	134
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @273
		    location   	(144, 1262)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@262
		    vertices   	(list Points
			(144, 1262)
			(144, 964)))
		(object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @274
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1216, 1552)
		    label      	(object ItemLabel
			Parent_View 	@274
			location   	(1007, 1497)
			fill_color 	13434879
			nlines     	1
			max_width  	418
			justify    	0
			label      	"XSDMaxLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C77C70146"
		    width      	436
		    height     	134
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @275
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1120, 1376)
		    label      	(object ItemLabel
			Parent_View 	@275
			location   	(880, 1320)
			fill_color 	13434879
			nlines     	1
			max_width  	480
			justify    	0
			label      	"XSDWhiteSpaceFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C784601B7"
		    width      	498
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @276
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 1728)
		    label      	(object ItemLabel
			Parent_View 	@276
			location   	(1090, 1676)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"XSDMaxInclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C787D00DA"
		    width      	462
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @277
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1424, 1904)
		    label      	(object ItemLabel
			Parent_View 	@277
			location   	(1193, 1852)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"XSDMaxExclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C789600C2"
		    width      	480
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @278
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 1728)
		    label      	(object ItemLabel
			Parent_View 	@278
			location   	(282, 1676)
			fill_color 	13434879
			nlines     	1
			max_width  	428
			justify    	0
			label      	"XSDMinInclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C788702C9"
		    width      	446
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @279
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1904)
		    label      	(object ItemLabel
			Parent_View 	@279
			location   	(124, 1852)
			fill_color 	13434879
			nlines     	1
			max_width  	456
			justify    	0
			label      	"XSDMinExclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C792D000A"
		    width      	474
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @280
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 2112)
		    label      	(object ItemLabel
			Parent_View 	@280
			location   	(52, 2056)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"XSDTotalDigitsFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C79A0020E"
		    width      	426
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @281
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 2112)
		    label      	(object ItemLabel
			Parent_View 	@281
			location   	(1318, 2056)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDFractionDigitsFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C79BE02EE"
		    width      	486
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @282
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C9D03C7"
		    client     	@264
		    supplier   	@263
		    line_style 	3
		    origin_attachment 	(394, 1100)
		    terminal_attachment 	(394, 1049)
		    drawSupplier 	@266)
		(object InheritView "" @283
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C78620045"
		    client     	@275
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(1119, 1308)
		    terminal_attachment 	(1119, 1262)
		    drawSupplier 	@273)
		(object ClassView "Class" "Logical View::xsd::XSDComponent" @284
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(336, 160)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@284
			location   	(174, 117)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846E90029"
		    width      	342
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @285
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6CA5038D"
		    client     	@265
		    supplier   	@263
		    line_style 	3
		    origin_attachment 	(1044, 1100)
		    terminal_attachment 	(1044, 1049)
		    drawSupplier 	@266)
		(object InheritView "" @286
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C778002DF"
		    client     	@271
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(663, 1308)
		    terminal_attachment 	(663, 1262)
		    drawSupplier 	@273)
		(object ClassView "Class" "Logical View::xsd::XSDOrdered" @287
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 1408)
		    label      	(object ItemLabel
			Parent_View 	@287
			location   	(1835, 1324)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"XSDOrdered")
		    stereotype 	(object ItemLabel
			Parent_View 	@287
			location   	(1835, 1274)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	426
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3BC7715202E4"
		    width      	444
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDCardinality" @288
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 1728)
		    label      	(object ItemLabel
			Parent_View 	@288
			location   	(1835, 1669)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"XSDCardinality")
		    stereotype 	(object ItemLabel
			Parent_View 	@288
			location   	(1835, 1619)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	426
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3BC7715D009B"
		    width      	444
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWhiteSpace" @289
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2064, 2032)
		    label      	(object ItemLabel
			Parent_View 	@289
			location   	(1861, 1951)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"XSDWhiteSpace")
		    stereotype 	(object ItemLabel
			Parent_View 	@289
			location   	(1861, 1901)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	406
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3BEED0F60342"
		    width      	424
		    height     	287
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::Value" @290
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(880, 2096)
		    label      	(object ItemLabel
			Parent_View 	@290
			location   	(571, 2062)
			fill_color 	13434879
			nlines     	1
			max_width  	618
			justify    	0
			label      	"Value")
		    stereotype 	(object ItemLabel
			Parent_View 	@290
			location   	(571, 2012)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	618
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3C040B5B031F"
		    width      	636
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @291
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B610337"
		    client     	@280
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(75, 2044)
		    terminal_attachment 	(75, 1262)
		    drawSupplier 	@273)
		(object ClassView "Class" "Logical View::xsd::XSDMinFacet" @292
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 1376)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@292
			location   	(113, 1320)
			fill_color 	13434879
			nlines     	1
			max_width  	286
			justify    	0
			label      	"XSDMinFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C0A1CDE037C"
		    compartment 	(object Compartment
			Parent_View 	@292
			location   	(113, 1380)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ value : Value"))
		    width      	304
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @293
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1584, 1376)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@293
			location   	(1440, 1320)
			fill_color 	13434879
			nlines     	1
			max_width  	288
			justify    	0
			label      	"XSDMaxFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C0A1CEB010E"
		    compartment 	(object Compartment
			Parent_View 	@293
			location   	(1440, 1380)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ value : Value"))
		    width      	306
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @294
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C0A1D240098"
		    client     	@292
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(235, 1308)
		    terminal_attachment 	(235, 1262)
		    drawSupplier 	@273)
		(object InheritView "" @295
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C0A1D3103AD"
		    client     	@293
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(1581, 1308)
		    terminal_attachment 	(1581, 1262)
		    drawSupplier 	@273)
		(object InheritView "" @296
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B520353"
		    client     	@278
		    supplier   	@292
		    line_style 	3
		    origin_attachment 	(285, 1664)
		    terminal_attachment 	(285, 1444))
		(object InheritView "" @297
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B8303B8"
		    client     	@276
		    supplier   	@293
		    line_style 	3
		    origin_attachment 	(1500, 1664)
		    terminal_attachment 	(1500, 1444))
		(object InheritView "" @298
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B8E0309"
		    client     	@277
		    supplier   	@293
		    line_style 	3
		    origin_attachment 	(1622, 1840)
		    terminal_attachment 	(1622, 1444))
		(object InheritView "" @299
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C77C400C0"
		    client     	@272
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(447, 1485)
		    terminal_attachment 	(447, 1262)
		    drawSupplier 	@273)
		(object InheritView "" @300
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B7D00FC"
		    client     	@274
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(1397, 1485)
		    terminal_attachment 	(1397, 1262)
		    drawSupplier 	@273)
		(object InheritView "" @301
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B990016"
		    client     	@281
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(1775, 2044)
		    terminal_attachment 	(1775, 1262)
		    drawSupplier 	@273)
		(object ClassView "Class" "Logical View::xsd::XSDFacet" @302
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 368)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@302
			location   	(174, 318)
			fill_color 	13434879
			nlines     	1
			max_width  	388
			justify    	0
			label      	"XSDFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C359403D2"
		    width      	406
		    height     	125
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @303
		    location   	(366, 522)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@302
		    vertices   	(list Points
			(366, 522)
			(366, 430)))
		(object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @304
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 624)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@304
			location   	(34, 573)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"XSDConstrainingFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C6B340093"
		    width      	462
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @305
		    location   	(272, 781)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@304
		    vertices   	(list Points
			(272, 781)
			(272, 687)))
		(object InheritView "" @306
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C8F002E"
		    client     	@263
		    supplier   	@304
		    line_style 	3
		    origin_attachment 	(594, 833)
		    terminal_attachment 	(594, 781)
		    drawSupplier 	@305)
		(object ClassView "Class" "Logical View::xsd::XSDFundamentalFacet" @307
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(752, 624)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@307
			location   	(526, 573)
			fill_color 	13434879
			nlines     	1
			max_width  	452
			justify    	0
			label      	"XSDFundamentalFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C69E801D6"
		    width      	470
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @308
		    location   	(768, 789)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@307
		    vertices   	(list Points
			(768, 789)
			(768, 687)))
		(object InheritView "" @309
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7659012C"
		    client     	@267
		    supplier   	@307
		    line_style 	3
		    origin_attachment 	(2050, 860)
		    terminal_attachment 	(2050, 789)
		    drawSupplier 	@308)
		(object InheritView "" @310
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C763C0224"
		    client     	@268
		    supplier   	@307
		    line_style 	3
		    origin_attachment 	(1525, 860)
		    terminal_attachment 	(1525, 789)
		    drawSupplier 	@308)
		(object InheritView "" @311
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C764F0131"
		    client     	@269
		    supplier   	@307
		    line_style 	3
		    origin_attachment 	(2237, 1036)
		    terminal_attachment 	(2237, 789)
		    drawSupplier 	@308)
		(object InheritView "" @312
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C76420074"
		    client     	@270
		    supplier   	@307
		    line_style 	3
		    origin_attachment 	(1328, 1037)
		    terminal_attachment 	(1328, 789)
		    drawSupplier 	@308)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @313
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1456, 160)
		    label      	(object ItemLabel
			Parent_View 	@313
			location   	(1137, 47)
			fill_color 	13434879
			nlines     	1
			max_width  	638
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    compartment 	(object Compartment
			Parent_View 	@313
			location   	(1137, 107)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ variety : XSDVariety"
			    "<<0..*>> + final : XSDSimpleFinal"))
		    width      	656
		    height     	250
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$62" @314
		    location   	(775, 178)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D597102EA"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$63" @315
			    Parent_View 	@314
			    location   	(-1209, -46)
			    label      	(object SegLabel @316
				Parent_View 	@315
				location   	(509, 235)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D59750119"
			    client     	@314
			    supplier   	@302
			    vertices   	(list Points
				(775, 178)
				(550, 178)
				(550, 306))
			    line_style 	3
			    origin_attachment 	(775, 178)
			    terminal_attachment 	(550, 306))
			(object RoleView "simpleTypeDefinition" @317
			    Parent_View 	@314
			    location   	(-1209, -46)
			    label      	(object SegLabel @318
				Parent_View 	@317
				location   	(875, 136)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+simpleTypeDefinition"
				pctDist    	0.283133
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D59750105"
			    client     	@314
			    supplier   	@313
			    line_style 	3
			    origin_attachment 	(775, 178)
			    terminal_attachment 	(1128, 178)
			    label      	(object SegLabel @319
				Parent_View 	@317
				location   	(1061, 215)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.812500
				height     	37
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$124" @320
		    location   	(369, 72)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BC8AE0203A8"
		    roleview_list 	(list RoleViews
			(object RoleView "facets" @321
			    Parent_View 	@320
			    location   	(-1615, -152)
			    label      	(object SegLabel @322
				Parent_View 	@321
				location   	(187, 496)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+facets"
				pctDist    	0.913863
				height     	87
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BC8AE060065"
			    client     	@320
			    supplier   	@304
			    vertices   	(list Points
				(369, 72)
				(100, 72)
				(100, 561))
			    line_style 	3
			    origin_attachment 	(369, 72)
			    terminal_attachment 	(100, 561)
			    label      	(object SegLabel @323
				Parent_View 	@321
				location   	(60, 498)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.917900
				height     	41
				orientation 	1))
			(object RoleView "$UNNAMED$125" @324
			    Parent_View 	@320
			    location   	(-1615, -152)
			    label      	(object SegLabel @325
				Parent_View 	@324
				location   	(976, 31)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BC8AE060051"
			    client     	@320
			    supplier   	@313
			    line_style 	3
			    origin_attachment 	(369, 72)
			    terminal_attachment 	(1128, 72))))
		(object AssociationViewNew "$UNNAMED$166" @326
		    location   	(1538, 508)
		    label      	(object SegLabel @327
			Parent_View 	@326
			location   	(1538, 449)
			font       	(object Font
			    italics    	TRUE)
			hidden     	TRUE
			anchor     	1
			anchor_loc 	1
			nlines     	1
			max_width  	60
			justify    	0
			label      	""
			pctDist    	0.500000
			height     	60
			orientation 	0)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C276DA000DE"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$167" @328
			    Parent_View 	@326
			    location   	(-446, 284)
			    label      	(object SegLabel @329
				Parent_View 	@328
				location   	(1446, 340)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C276DA000DF"
			    client     	@326
			    supplier   	@313
			    vertices   	(list Points
				(1538, 508)
				(1487, 508)
				(1487, 285))
			    line_style 	3
			    origin_attachment 	(1538, 508)
			    terminal_attachment 	(1487, 285))
			(object RoleView "itemTypeDefinition" @330
			    Parent_View 	@326
			    location   	(-446, 284)
			    label      	(object SegLabel @331
				Parent_View 	@330
				location   	(1423, 577)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+itemTypeDefinition"
				pctDist    	-2.211539
				height     	69
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C276DA000E0"
			    client     	@326
			    supplier   	@313
			    vertices   	(list Points
				(1538, 508)
				(1590, 508)
				(1590, 285))
			    line_style 	3
			    origin_attachment 	(1538, 508)
			    terminal_attachment 	(1590, 285)
			    label      	(object SegLabel @332
				Parent_View 	@330
				location   	(1539, 468)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.003984
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$126" @333
		    location   	(1729, 574)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C34B70208"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$127" @334
			    Parent_View 	@333
			    location   	(-255, 350)
			    label      	(object SegLabel @335
				Parent_View 	@334
				location   	(1637, 353)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C34BE0258"
			    client     	@333
			    supplier   	@313
			    vertices   	(list Points
				(1729, 574)
				(1678, 574)
				(1678, 285))
			    line_style 	3
			    origin_attachment 	(1729, 574)
			    terminal_attachment 	(1678, 285))
			(object RoleView "memberTypeDefinitions" @336
			    Parent_View 	@333
			    location   	(-255, 350)
			    label      	(object SegLabel @337
				Parent_View 	@336
				location   	(1559, 654)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	444
				justify    	0
				label      	"+memberTypeDefinitions"
				pctDist    	-3.269231
				height     	80
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C34BE0259"
			    client     	@333
			    supplier   	@313
			    vertices   	(list Points
				(1729, 574)
				(1781, 574)
				(1781, 285))
			    line_style 	3
			    origin_attachment 	(1729, 574)
			    terminal_attachment 	(1781, 285)
			    label      	(object SegLabel @338
				Parent_View 	@336
				location   	(1730, 520)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.312121
				height     	52
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$128" @339
		    location   	(748, 269)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C363201DB"
		    roleview_list 	(list RoleViews
			(object RoleView "fundamentalFacets" @340
			    Parent_View 	@339
			    location   	(-1236, 45)
			    label      	(object SegLabel @341
				Parent_View 	@340
				location   	(873, 312)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+fundamentalFacets"
				pctDist    	-1.409091
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C36350063"
			    client     	@339
			    supplier   	@307
			    vertices   	(list Points
				(748, 269)
				(659, 269)
				(659, 561))
			    line_style 	3
			    origin_attachment 	(748, 269)
			    terminal_attachment 	(659, 561)
			    label      	(object SegLabel @342
				Parent_View 	@340
				location   	(728, 385)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..*"
				pctDist    	0.538028
				height     	69
				orientation 	0))
			(object RoleView "$UNNAMED$129" @343
			    Parent_View 	@339
			    location   	(-1236, 45)
			    label      	(object SegLabel @344
				Parent_View 	@343
				location   	(1052, 228)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C36350059"
			    client     	@339
			    supplier   	@313
			    line_style 	3
			    origin_attachment 	(748, 269)
			    terminal_attachment 	(1128, 269))))
		(object AssociationViewNew "$UNNAMED$130" @345
		    location   	(1175, 396)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D35AB0273"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$131" @346
			    Parent_View 	@345
			    location   	(-809, 172)
			    label      	(object SegLabel @347
				Parent_View 	@346
				location   	(1094, 316)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D35B20291"
			    client     	@345
			    supplier   	@313
			    vertices   	(list Points
				(1175, 396)
				(1135, 396)
				(1135, 285))
			    line_style 	3
			    origin_attachment 	(1175, 396)
			    terminal_attachment 	(1135, 285))
			(object RoleView "baseTypeDefinition" @348
			    Parent_View 	@345
			    location   	(-809, 172)
			    label      	(object SegLabel @349
				Parent_View 	@348
				location   	(1074, 443)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+baseTypeDefinition"
				pctDist    	-2.533333
				height     	47
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D35B202A5"
			    client     	@345
			    supplier   	@313
			    vertices   	(list Points
				(1175, 396)
				(1215, 396)
				(1215, 285))
			    line_style 	3
			    origin_attachment 	(1175, 396)
			    terminal_attachment 	(1215, 285)
			    label      	(object SegLabel @350
				Parent_View 	@348
				location   	(1172, 359)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.096154
				height     	38
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$132" @351
		    location   	(1360, 446)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D5572016C"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$133" @352
			    Parent_View 	@351
			    location   	(-624, 222)
			    label      	(object SegLabel @353
				Parent_View 	@352
				location   	(1268, 327)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D5575022F"
			    client     	@351
			    supplier   	@313
			    vertices   	(list Points
				(1360, 446)
				(1309, 446)
				(1309, 285))
			    line_style 	3
			    origin_attachment 	(1360, 446)
			    terminal_attachment 	(1309, 285))
			(object RoleView "primitiveTypeDefinition" @354
			    Parent_View 	@351
			    location   	(-624, 222)
			    label      	(object SegLabel @355
				Parent_View 	@354
				location   	(1204, 508)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	432
				justify    	0
				label      	"+primitiveTypeDefinition"
				pctDist    	-3.000000
				height     	62
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D55750243"
			    client     	@351
			    supplier   	@313
			    vertices   	(list Points
				(1360, 446)
				(1412, 446)
				(1412, 285))
			    line_style 	3
			    origin_attachment 	(1360, 446)
			    terminal_attachment 	(1412, 285)
			    label      	(object SegLabel @356
				Parent_View 	@354
				location   	(1373, 409)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.062147
				height     	38
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @357
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2080, 512)
		    label      	(object ItemLabel
			Parent_View 	@357
			location   	(1917, 428)
			fill_color 	13434879
			nlines     	1
			max_width  	326
			justify    	0
			label      	"XSDSimpleFinal")
		    stereotype 	(object ItemLabel
			Parent_View 	@357
			location   	(1917, 378)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	326
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C25D0295"
		    compartment 	(object Compartment
			Parent_View 	@357
			location   	(1917, 488)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	3
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ list"
			    "+ restriction"
			    "+ union"))
		    width      	344
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDVariety" @358
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2080, 176)
		    label      	(object ItemLabel
			Parent_View 	@358
			location   	(1918, 92)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDVariety")
		    stereotype 	(object ItemLabel
			Parent_View 	@358
			location   	(1918, 42)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	324
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B8FF7730249"
		    width      	342
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @359
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C7B0396"
		    client     	@307
		    supplier   	@302
		    line_style 	3
		    origin_attachment 	(591, 561)
		    terminal_attachment 	(591, 522)
		    drawSupplier 	@303)
		(object InheritView "" @360
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C800394"
		    client     	@304
		    supplier   	@302
		    line_style 	3
		    origin_attachment 	(272, 561)
		    terminal_attachment 	(272, 522)
		    drawSupplier 	@303)
		(object InheritView "" @361
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D25680259"
		    client     	@302
		    supplier   	@284
		    line_style 	3
		    origin_attachment 	(366, 306)
		    terminal_attachment 	(366, 215))
		(object InheritView "" @362
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C8801B4"
		    client     	@262
		    supplier   	@304
		    line_style 	3
		    origin_attachment 	(147, 828)
		    terminal_attachment 	(147, 781)
		    drawSupplier 	@305)
		(object InheritView "" @363
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C7B590281"
		    client     	@279
		    supplier   	@292
		    line_style 	3
		    origin_attachment 	(150, 1840)
		    terminal_attachment 	(150, 1444))))
	(object ClassDiagram "5. Component Annotations"
	    quid       	"3B69D68D00D2"
	    title      	"5. Component Annotations"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @364
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 80)
		    label      	(object ItemLabel
			Parent_View 	@364
			location   	(88, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	336
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    width      	354
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @365
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1696)
		    label      	(object ItemLabel
			Parent_View 	@365
			location   	(82, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	270
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @366
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1872, 1504)
		    label      	(object ItemLabel
			Parent_View 	@366
			location   	(1626, 1461)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    width      	510
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @367
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 304)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@367
			location   	(1663, 261)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"XSDConstrainingFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C6B340093"
		    width      	468
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @368
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 1360)
		    label      	(object ItemLabel
			Parent_View 	@368
			location   	(74, 1317)
			fill_color 	13434879
			nlines     	1
			max_width  	588
			justify    	0
			label      	"XSDIdentityConstraintDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B2603A2"
		    width      	606
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @369
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 704)
		    label      	(object ItemLabel
			Parent_View 	@369
			location   	(86, 661)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDNotationDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDAA021C"
		    width      	486
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @370
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 1184)
		    label      	(object ItemLabel
			Parent_View 	@370
			location   	(74, 1141)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	510
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @371
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 544)
		    label      	(object ItemLabel
			Parent_View 	@371
			location   	(86, 501)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	486
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @372
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1200, 80)
		    label      	(object ItemLabel
			Parent_View 	@372
			location   	(1068, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	264
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	282
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @373
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1936, 1216)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@373
			location   	(1750, 1173)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	390
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @374
		    location   	(1994, 1412)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@373
		    vertices   	(list Points
			(1994, 1412)
			(1994, 1271)))
		(object InheritView "" @375
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@366
		    supplier   	@373
		    line_style 	3
		    origin_attachment 	(2084, 1449)
		    terminal_attachment 	(2084, 1412)
		    drawSupplier 	@374)
		(object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @376
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 864)
		    label      	(object ItemLabel
			Parent_View 	@376
			location   	(80, 821)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"XSDXPathDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6D83BB0355"
		    width      	402
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFacet" @377
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2000, 80)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@377
			location   	(1892, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	216
			justify    	0
			label      	"XSDFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C359403D2"
		    width      	234
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @378
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 384)
		    label      	(object ItemLabel
			Parent_View 	@378
			location   	(84, 341)
			fill_color 	13434879
			nlines     	1
			max_width  	536
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	554
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @379
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 224)
		    label      	(object ItemLabel
			Parent_View 	@379
			location   	(86, 181)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	486
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @380
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1792, 1712)
		    label      	(object ItemLabel
			Parent_View 	@380
			location   	(1467, 1674)
			fill_color 	13434879
			nlines     	1
			max_width  	651
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	669
		    height     	100
		    annotation 	8)
		(object InheritView "" @381
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@380
		    supplier   	@373
		    line_style 	3
		    origin_attachment 	(1572, 1662)
		    terminal_attachment 	(1572, 1412)
		    drawSupplier 	@374)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroup" @382
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 1024)
		    label      	(object ItemLabel
			Parent_View 	@382
			location   	(78, 981)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDModelGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6834E00291"
		    width      	342
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @383
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 560)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@383
			location   	(1688, 517)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"XSDRepeatableFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C6AA6031A"
		    width      	450
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @384
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1536)
		    label      	(object ItemLabel
			Parent_View 	@384
			location   	(71, 1493)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    width      	292
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAnnotation" @385
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1232, 944)
		    label      	(object ItemLabel
			Parent_View 	@385
			location   	(872, 685)
			fill_color 	13434879
			nlines     	1
			max_width  	720
			justify    	0
			label      	"XSDAnnotation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDC80233"
		    width      	738
		    height     	543
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$68" @386
		    location   	(865, 1359)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB0D0183"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$69" @387
			    Parent_View 	@386
			    location   	(-255, 559)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB0D033C"
			    client     	@386
			    supplier   	@368
			    line_style 	3
			    origin_attachment 	(865, 1359)
			    terminal_attachment 	(671, 1359))
			(object RoleView "annotation" @388
			    Parent_View 	@386
			    location   	(-255, 559)
			    label      	(object SegLabel @389
				Parent_View 	@388
				location   	(798, 1321)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	-1.116667
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB0D0346"
			    client     	@386
			    supplier   	@385
			    vertices   	(list Points
				(865, 1359)
				(925, 1359)
				(925, 1215))
			    line_style 	3
			    origin_attachment 	(865, 1359)
			    terminal_attachment 	(925, 1215)
			    label      	(object SegLabel @390
				Parent_View 	@388
				location   	(987, 1276)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.706422
				height     	62
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$92" @391
		    location   	(713, 709)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB0F0212"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$93" @392
			    Parent_View 	@391
			    location   	(-407, -90)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB1000C9"
			    client     	@391
			    supplier   	@369
			    line_style 	3
			    origin_attachment 	(713, 709)
			    terminal_attachment 	(563, 709))
			(object RoleView "annotation" @393
			    Parent_View 	@391
			    location   	(-407, -90)
			    label      	(object SegLabel @394
				Parent_View 	@393
				location   	(727, 667)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.095238
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB1000D3"
			    client     	@391
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(713, 709)
			    terminal_attachment 	(863, 709)
			    label      	(object SegLabel @395
				Parent_View 	@393
				location   	(796, 753)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.553571
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$86" @396
		    location   	(719, 1193)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB15008A"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$87" @397
			    Parent_View 	@396
			    location   	(-401, 393)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB160096"
			    client     	@396
			    supplier   	@370
			    line_style 	3
			    origin_attachment 	(719, 1193)
			    terminal_attachment 	(575, 1193))
			(object RoleView "annotation" @398
			    Parent_View 	@396
			    location   	(-401, 393)
			    label      	(object SegLabel @399
				Parent_View 	@398
				location   	(720, 1147)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.006993
				height     	47
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB1600A0"
			    client     	@396
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(719, 1193)
			    terminal_attachment 	(863, 1193)
			    label      	(object SegLabel @400
				Parent_View 	@398
				location   	(806, 1240)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.604167
				height     	47
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$46" @401
		    location   	(785, 550)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB0A0066"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$47" @402
			    Parent_View 	@401
			    location   	(-335, -250)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB0B023F"
			    client     	@401
			    supplier   	@371
			    line_style 	3
			    origin_attachment 	(785, 550)
			    terminal_attachment 	(563, 550))
			(object RoleView "annotation" @403
			    Parent_View 	@401
			    location   	(-335, -250)
			    label      	(object SegLabel @404
				Parent_View 	@403
				location   	(779, 516)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	-0.070707
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB0B0249"
			    client     	@401
			    supplier   	@385
			    vertices   	(list Points
				(785, 550)
				(884, 550)
				(884, 673))
			    line_style 	3
			    origin_attachment 	(785, 550)
			    terminal_attachment 	(884, 673)
			    label      	(object SegLabel @405
				Parent_View 	@403
				location   	(935, 612)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.729730
				height     	51
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$118" @406
		    location   	(1184, 404)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69E4560290"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$119" @407
			    Parent_View 	@406
			    location   	(-32, -412)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69E4570165"
			    client     	@406
			    supplier   	@372
			    line_style 	3
			    origin_attachment 	(1184, 404)
			    terminal_attachment 	(1184, 135))
			(object RoleView "annotations" @408
			    Parent_View 	@406
			    location   	(-32, -412)
			    label      	(object SegLabel @409
				Parent_View 	@408
				location   	(1324, 226)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	249
				justify    	0
				label      	"+annotations"
				pctDist    	-0.665428
				height     	140
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69E457016F"
			    client     	@406
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1184, 404)
			    terminal_attachment 	(1184, 673)
			    label      	(object SegLabel @410
				Parent_View 	@408
				location   	(1251, 615)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.784387
				height     	67
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$134" @411
		    location   	(1752, 1034)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69E2910158"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$135" @412
			    Parent_View 	@411
			    location   	(536, 218)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69E292019F"
			    client     	@411
			    supplier   	@373
			    vertices   	(list Points
				(1752, 1034)
				(1812, 1034)
				(1812, 1161))
			    line_style 	3
			    origin_attachment 	(1752, 1034)
			    terminal_attachment 	(1812, 1161))
			(object RoleView "annotation" @413
			    Parent_View 	@411
			    location   	(536, 218)
			    label      	(object SegLabel @414
				Parent_View 	@413
				location   	(1743, 997)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.059603
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69E29201A9"
			    client     	@411
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1752, 1034)
			    terminal_attachment 	(1601, 1034)
			    label      	(object SegLabel @415
				Parent_View 	@413
				location   	(1684, 1066)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.450331
				height     	32
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$136" @416
		    location   	(1896, 881)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B9006CF0088"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$137" @417
			    Parent_View 	@416
			    location   	(621, 40)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B9006D1015D"
			    client     	@416
			    supplier   	@373
			    vertices   	(list Points
				(1896, 881)
				(1956, 881)
				(1956, 1161))
			    line_style 	3
			    origin_attachment 	(1896, 881)
			    terminal_attachment 	(1956, 1161))
			(object RoleView "derivationAnnotation" @418
			    Parent_View 	@416
			    location   	(621, 40)
			    label      	(object SegLabel @419
				Parent_View 	@418
				location   	(1821, 842)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	390
				justify    	0
				label      	"+derivationAnnotation"
				pctDist    	0.254237
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B9006D10167"
			    client     	@416
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1896, 881)
			    terminal_attachment 	(1601, 881)
			    label      	(object SegLabel @420
				Parent_View 	@418
				location   	(1689, 914)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.705085
				height     	33
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$138" @421
		    location   	(2040, 715)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB330264"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$139" @422
			    Parent_View 	@421
			    location   	(920, -85)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB340284"
			    client     	@421
			    supplier   	@373
			    vertices   	(list Points
				(2040, 715)
				(2100, 715)
				(2100, 1161))
			    line_style 	3
			    origin_attachment 	(2040, 715)
			    terminal_attachment 	(2100, 1161))
			(object RoleView "annotations" @423
			    Parent_View 	@421
			    location   	(920, -85)
			    label      	(object SegLabel @424
				Parent_View 	@423
				location   	(1758, 681)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+annotations"
				pctDist    	0.643192
				height     	35
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB34028E"
			    client     	@421
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(2040, 715)
			    terminal_attachment 	(1601, 715)
			    label      	(object SegLabel @425
				Parent_View 	@423
				location   	(1685, 746)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.809313
				height     	31
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$156" @426
		    location   	(668, 865)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C239134004F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$157" @427
			    Parent_View 	@426
			    location   	(-612, 33)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C23913600CA"
			    client     	@426
			    supplier   	@376
			    line_style 	3
			    origin_attachment 	(668, 865)
			    terminal_attachment 	(473, 865))
			(object RoleView "annotation" @428
			    Parent_View 	@426
			    location   	(-612, 33)
			    label      	(object SegLabel @429
				Parent_View 	@428
				location   	(714, 825)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.234146
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C23913600D4"
			    client     	@426
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(668, 865)
			    terminal_attachment 	(863, 865)
			    label      	(object SegLabel @430
				Parent_View 	@428
				location   	(801, 903)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.682051
				height     	38
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$60" @431
		    location   	(1472, 167)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D23B901CD"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$61" @432
			    Parent_View 	@431
			    location   	(256, -649)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D23BA01C4"
			    client     	@431
			    supplier   	@377
			    vertices   	(list Points
				(1472, 167)
				(1472, 72)
				(1883, 72))
			    line_style 	3
			    origin_attachment 	(1472, 167)
			    terminal_attachment 	(1883, 72))
			(object RoleView "annotation" @433
			    Parent_View 	@431
			    location   	(256, -649)
			    label      	(object SegLabel @434
				Parent_View 	@433
				location   	(1604, 129)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	-0.076305
				height     	132
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D23BA01CE"
			    client     	@431
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1472, 167)
			    terminal_attachment 	(1472, 673)
			    label      	(object SegLabel @435
				Parent_View 	@433
				location   	(1419, 618)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.893574
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$10" @436
		    location   	(927, 350)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB060291"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$11" @437
			    Parent_View 	@436
			    location   	(-193, -450)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB070171"
			    client     	@436
			    supplier   	@378
			    line_style 	3
			    origin_attachment 	(927, 350)
			    terminal_attachment 	(629, 350))
			(object RoleView "annotation" @438
			    Parent_View 	@436
			    location   	(-193, -450)
			    label      	(object SegLabel @439
				Parent_View 	@438
				location   	(878, 310)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	-0.816667
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB070172"
			    client     	@436
			    supplier   	@385
			    vertices   	(list Points
				(927, 350)
				(987, 350)
				(987, 673))
			    line_style 	3
			    origin_attachment 	(927, 350)
			    terminal_attachment 	(987, 673)
			    label      	(object SegLabel @440
				Parent_View 	@438
				location   	(1037, 612)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.843342
				height     	50
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$2" @441
		    location   	(1027, 222)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DADC02F5"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$3" @442
			    Parent_View 	@441
			    location   	(-93, -578)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DADD0238"
			    client     	@441
			    supplier   	@379
			    line_style 	3
			    origin_attachment 	(1027, 222)
			    terminal_attachment 	(563, 222))
			(object RoleView "annotation" @443
			    Parent_View 	@441
			    location   	(-93, -578)
			    label      	(object SegLabel @444
				Parent_View 	@443
				location   	(1003, 188)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	-0.406250
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DADD0242"
			    client     	@441
			    supplier   	@385
			    vertices   	(list Points
				(1027, 222)
				(1087, 222)
				(1087, 673))
			    line_style 	3
			    origin_attachment 	(1027, 222)
			    terminal_attachment 	(1087, 673)
			    label      	(object SegLabel @445
				Parent_View 	@443
				location   	(1137, 613)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	100
				justify    	0
				label      	"0..1"
				pctDist    	0.882583
				height     	50
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$26" @446
		    location   	(1494, 1438)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B90068801C2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$27" @447
			    Parent_View 	@446
			    location   	(214, 590)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B90068A0111"
			    client     	@446
			    supplier   	@380
			    line_style 	3
			    origin_attachment 	(1494, 1438)
			    terminal_attachment 	(1494, 1662))
			(object RoleView "contentAnnotation" @448
			    Parent_View 	@446
			    location   	(214, 590)
			    label      	(object SegLabel @449
				Parent_View 	@448
				location   	(1696, 1356)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+contentAnnotation"
				pctDist    	0.367713
				height     	202
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B90068A011B"
			    client     	@446
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1494, 1438)
			    terminal_attachment 	(1494, 1215)
			    label      	(object SegLabel @450
				Parent_View 	@448
				location   	(1443, 1279)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.713004
				height     	51
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$80" @451
		    location   	(637, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB1702C8"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$81" @452
			    Parent_View 	@451
			    location   	(-483, 222)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB1803E2"
			    client     	@451
			    supplier   	@382
			    line_style 	3
			    origin_attachment 	(637, 1022)
			    terminal_attachment 	(411, 1022))
			(object RoleView "annotation" @453
			    Parent_View 	@451
			    location   	(-483, 222)
			    label      	(object SegLabel @454
				Parent_View 	@453
				location   	(710, 979)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.328889
				height     	44
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB190004"
			    client     	@451
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(637, 1022)
			    terminal_attachment 	(863, 1022)
			    label      	(object SegLabel @455
				Parent_View 	@453
				location   	(802, 1062)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.730088
				height     	40
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$0" @456
		    location   	(1581, 607)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C626EA70102"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$1" @457
			    Parent_View 	@456
			    location   	(301, -225)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C626EA90191"
			    client     	@456
			    supplier   	@383
			    vertices   	(list Points
				(1581, 607)
				(1581, 547)
				(1679, 547))
			    line_style 	3
			    origin_attachment 	(1581, 607)
			    terminal_attachment 	(1679, 547))
			(object RoleView "annotations" @458
			    Parent_View 	@456
			    location   	(301, -225)
			    label      	(object SegLabel @459
				Parent_View 	@458
				location   	(1669, 462)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+annotations"
				pctDist    	-2.196970
				height     	88
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C626EA90192"
			    client     	@456
			    supplier   	@385
			    line_style 	3
			    origin_attachment 	(1581, 607)
			    terminal_attachment 	(1581, 673)
			    label      	(object SegLabel @460
				Parent_View 	@458
				location   	(1539, 620)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.196970
				height     	42
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$140" @461
		    location   	(849, 1496)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69DB11026F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$141" @462
			    Parent_View 	@461
			    location   	(-271, 696)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB1201F9"
			    client     	@461
			    supplier   	@384
			    line_style 	3
			    origin_attachment 	(849, 1496)
			    terminal_attachment 	(354, 1496))
			(object RoleView "annotation" @463
			    Parent_View 	@461
			    location   	(-271, 696)
			    label      	(object SegLabel @464
				Parent_View 	@463
				location   	(942, 1464)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.188259
				height     	33
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69DB120203"
			    client     	@461
			    supplier   	@385
			    vertices   	(list Points
				(849, 1496)
				(1062, 1496)
				(1062, 1215))
			    line_style 	3
			    origin_attachment 	(849, 1496)
			    terminal_attachment 	(1062, 1215)
			    label      	(object SegLabel @465
				Parent_View 	@463
				location   	(1115, 1279)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.872690
				height     	53
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$142" @466
		    location   	(952, 1565)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C626EB30005"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$143" @467
			    Parent_View 	@466
			    location   	(-328, 733)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C626EB40327"
			    client     	@466
			    supplier   	@384
			    line_style 	3
			    origin_attachment 	(952, 1565)
			    terminal_attachment 	(354, 1565))
			(object RoleView "annotations" @468
			    Parent_View 	@466
			    location   	(-328, 733)
			    label      	(object SegLabel @469
				Parent_View 	@468
				location   	(1075, 1538)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+annotations"
				pctDist    	0.204959
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C626EB40332"
			    client     	@466
			    supplier   	@385
			    vertices   	(list Points
				(952, 1565)
				(1200, 1565)
				(1200, 1215))
			    line_style 	3
			    origin_attachment 	(952, 1565)
			    terminal_attachment 	(1200, 1215)
			    label      	(object SegLabel @470
				Parent_View 	@468
				location   	(1254, 1275)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object InheritView "" @471
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C800394"
		    client     	@367
		    supplier   	@377
		    line_style 	3
		    origin_attachment 	(1984, 249)
		    terminal_attachment 	(1984, 135))
		(object InheritView "" @472
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C6C8F002E"
		    client     	@383
		    supplier   	@367
		    line_style 	3
		    origin_attachment 	(1997, 505)
		    terminal_attachment 	(1997, 359))))
	(object ClassDiagram "6. Concrete Components"
	    quid       	"3B6AD74D03C4"
	    title      	"6. Concrete Components"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDComponent" @473
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 416)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@473
			location   	(126, 373)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846E90029"
		    width      	342
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @474
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(832, 416)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@474
			location   	(568, 373)
			fill_color 	13434879
			nlines     	1
			max_width  	528
			justify    	0
			label      	"XSDAttributeGroupContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6940200089"
		    width      	546
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @475
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1200, 672)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@475
			location   	(991, 629)
			fill_color 	13434879
			nlines     	1
			max_width  	418
			justify    	0
			label      	"XSDRedefineContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AE2060172"
		    width      	436
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @476
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 416)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@476
			location   	(1156, 373)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"XSDSchemaContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B688CB800BA"
		    width      	426
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @477
		    location   	(1360, 561)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@476
		    vertices   	(list Points
			(1360, 561)
			(1360, 471)))
		(object ClassView "Class" "Logical View::xsd::XSDInclude" @478
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1632, 1200)
		    label      	(object ItemLabel
			Parent_View 	@478
			location   	(1512, 1157)
			fill_color 	13434879
			nlines     	1
			max_width  	240
			justify    	0
			label      	"XSDInclude")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B688C7D0250"
		    width      	258
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDImport" @479
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1408, 944)
		    label      	(object ItemLabel
			Parent_View 	@479
			location   	(1294, 901)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"XSDImport")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B688C93017F"
		    width      	246
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDRedefine" @480
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1936, 1200)
		    label      	(object ItemLabel
			Parent_View 	@480
			location   	(1805, 1157)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"XSDRedefine")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B688C9B02AD"
		    width      	280
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDAnnotation" @481
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 1200)
		    label      	(object ItemLabel
			Parent_View 	@481
			location   	(375, 1153)
			fill_color 	13434879
			nlines     	1
			max_width  	851
			justify    	0
			label      	"XSDAnnotation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDC80233"
		    width      	869
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$78" @482
		    location   	(1368, 1206)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6ADCC5007E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$79" @483
			    Parent_View 	@482
			    location   	(1160, 406)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADCC6006B"
			    client     	@482
			    supplier   	@478
			    line_style 	3
			    origin_attachment 	(1368, 1206)
			    terminal_attachment 	(1503, 1206))
			(object RoleView "annotation" @484
			    Parent_View 	@482
			    location   	(1160, 406)
			    label      	(object SegLabel @485
				Parent_View 	@484
				location   	(1347, 1154)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.154412
				height     	53
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADCC6006C"
			    client     	@482
			    supplier   	@481
			    line_style 	3
			    origin_attachment 	(1368, 1206)
			    terminal_attachment 	(1234, 1206)
			    label      	(object SegLabel @486
				Parent_View 	@484
				location   	(1300, 1253)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	107
				justify    	0
				label      	"0..1"
				pctDist    	0.514706
				height     	47
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$76" @487
		    location   	(1168, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6ADCD802FC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$77" @488
			    Parent_View 	@487
			    location   	(960, 222)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADCD9018B"
			    client     	@487
			    supplier   	@479
			    vertices   	(list Points
				(1168, 1022)
				(1168, 962)
				(1285, 962))
			    line_style 	3
			    origin_attachment 	(1168, 1022)
			    terminal_attachment 	(1285, 962))
			(object RoleView "annotation" @489
			    Parent_View 	@487
			    location   	(960, 222)
			    label      	(object SegLabel @490
				Parent_View 	@489
				location   	(1290, 1075)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+annotation"
				pctDist    	0.445378
				height     	122
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADCD9018C"
			    client     	@487
			    supplier   	@481
			    line_style 	3
			    origin_attachment 	(1168, 1022)
			    terminal_attachment 	(1168, 1141)
			    label      	(object SegLabel @491
				Parent_View 	@489
				location   	(1127, 1074)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.436975
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$98" @492
		    location   	(1563, 1353)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6ADE42009A"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$99" @493
			    Parent_View 	@492
			    location   	(1355, 553)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADE4302FE"
			    client     	@492
			    supplier   	@480
			    vertices   	(list Points
				(1563, 1353)
				(1940, 1353)
				(1940, 1255))
			    line_style 	3
			    origin_attachment 	(1563, 1353)
			    terminal_attachment 	(1940, 1255))
			(object RoleView "annotations" @494
			    Parent_View 	@492
			    location   	(1355, 553)
			    label      	(object SegLabel @495
				Parent_View 	@494
				location   	(1317, 1322)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+annotations"
				pctDist    	0.516807
				height     	32
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6ADE430308"
			    client     	@492
			    supplier   	@481
			    vertices   	(list Points
				(1563, 1353)
				(1181, 1353)
				(1181, 1259))
			    line_style 	3
			    origin_attachment 	(1563, 1353)
			    terminal_attachment 	(1181, 1259)
			    label      	(object SegLabel @496
				Parent_View 	@494
				location   	(1130, 1326)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.861345
				height     	52
				orientation 	0))))
		(object InheritTreeView "" @497
		    location   	(288, 561)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@473
		    vertices   	(list Points
			(288, 561)
			(288, 471)))
		(object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @498
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(688, 672)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@498
			location   	(460, 629)
			fill_color 	13434879
			nlines     	1
			max_width  	456
			justify    	0
			label      	"XSDNamedComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846D303A4"
		    width      	474
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDParticleContent" @499
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 416)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@499
			location   	(1658, 373)
			fill_color 	13434879
			nlines     	1
			max_width  	396
			justify    	0
			label      	"XSDParticleContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6BD22300C6"
		    width      	414
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @500
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(720, 960)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@500
			location   	(450, 917)
			fill_color 	13434879
			nlines     	1
			max_width  	540
			justify    	0
			label      	"XSDRedefinableComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B7FCA8B020B"
		    width      	558
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDScope" @501
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(224, 672)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@501
			location   	(110, 629)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"XSDScope")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B54000F2"
		    width      	246
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @502
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCD640231"
		    client     	@501
		    supplier   	@473
		    line_style 	3
		    origin_attachment 	(221, 617)
		    terminal_attachment 	(221, 561)
		    drawSupplier 	@497)
		(object InheritView "" @503
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0CEA20197"
		    client     	@498
		    supplier   	@473
		    line_style 	3
		    origin_attachment 	(589, 617)
		    terminal_attachment 	(589, 561)
		    drawSupplier 	@497)
		(object InheritView "" @504
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE2B301D5"
		    client     	@475
		    supplier   	@476
		    line_style 	3
		    origin_attachment 	(1016, 617)
		    terminal_attachment 	(1016, 561)
		    drawSupplier 	@477)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @505
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 944)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@505
			location   	(1590, 901)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"XSDSchemaCompositor")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C21DB4102AE"
		    width      	486
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @506
		    location   	(1824, 1089)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@505
		    vertices   	(list Points
			(1824, 1089)
			(1824, 999)))
		(object InheritView "" @507
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AD8DC0381"
		    client     	@478
		    supplier   	@505
		    line_style 	3
		    origin_attachment 	(1666, 1145)
		    terminal_attachment 	(1666, 1089)
		    drawSupplier 	@506)
		(object InheritView "" @508
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DB640240"
		    client     	@480
		    supplier   	@505
		    line_style 	3
		    origin_attachment 	(1934, 1145)
		    terminal_attachment 	(1934, 1089)
		    drawSupplier 	@506)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @509
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1840, 672)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@509
			location   	(1630, 629)
			fill_color 	13434879
			nlines     	1
			max_width  	420
			justify    	0
			label      	"XSDSchemaDirective")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD8A202A2"
		    width      	438
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @510
		    location   	(1762, 819)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@509
		    vertices   	(list Points
			(1762, 819)
			(1762, 727)))
		(object InheritView "" @511
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AD8D9003E"
		    client     	@479
		    supplier   	@509
		    line_style 	3
		    origin_attachment 	(1416, 889)
		    terminal_attachment 	(1416, 819)
		    drawSupplier 	@510)
		(object InheritView "" @512
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE32102AF"
		    client     	@509
		    supplier   	@476
		    line_style 	3
		    origin_attachment 	(1756, 617)
		    terminal_attachment 	(1756, 561)
		    drawSupplier 	@477)
		(object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @513
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    location   	(1120, 144)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@513
			location   	(875, 101)
			fill_color 	13434879
			nlines     	1
			max_width  	490
			justify    	0
			label      	"XSDConcreteComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD7B40065"
		    width      	508
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @514
		    location   	(1120, 289)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@513
		    vertices   	(list Points
			(1120, 289)
			(1120, 199)))
		(object AssociationViewNew "$UNNAMED$40" @515
		    location   	(1485, 215)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B751B0803C7"
		    roleview_list 	(list RoleViews
			(object RoleView "container" @516
			    Parent_View 	@515
			    location   	(989, 103)
			    label      	(object SegLabel @517
				Parent_View 	@516
				location   	(1604, 210)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	"+container"
				pctDist    	0.033113
				height     	119
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751B0C01CE"
			    client     	@515
			    supplier   	@513
			    vertices   	(list Points
				(1485, 215)
				(1485, 176)
				(1374, 176))
			    line_style 	3
			    origin_attachment 	(1485, 215)
			    terminal_attachment 	(1374, 176)
			    label      	(object SegLabel @518
				Parent_View 	@516
				location   	(1435, 226)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	69
				justify    	0
				label      	"0..1"
				pctDist    	0.602649
				height     	50
				orientation 	0))
			(object RoleView "$UNNAMED$41" @519
			    Parent_View 	@515
			    location   	(989, 103)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751B0C01CF"
			    client     	@515
			    supplier   	@513
			    vertices   	(list Points
				(1485, 215)
				(1485, 254)
				(1345, 254)
				(1345, 199))
			    line_style 	3
			    origin_attachment 	(1485, 215)
			    terminal_attachment 	(1345, 199))))
		(object AssociationViewNew "$UNNAMED$42" @520
		    location   	(773, 216)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B751B480261"
		    roleview_list 	(list RoleViews
			(object RoleView "rootContainer" @521
			    Parent_View 	@520
			    location   	(53, 104)
			    label      	(object SegLabel @522
				Parent_View 	@521
				location   	(614, 217)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+rootContainer"
				pctDist    	-0.025000
				height     	160
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751B4C0285"
			    client     	@520
			    supplier   	@513
			    vertices   	(list Points
				(773, 216)
				(773, 176)
				(866, 176))
			    line_style 	3
			    origin_attachment 	(773, 216)
			    terminal_attachment 	(866, 176)
			    label      	(object SegLabel @523
				Parent_View 	@521
				location   	(800, 228)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.300000
				height     	27
				orientation 	1))
			(object RoleView "$UNNAMED$43" @524
			    Parent_View 	@520
			    location   	(53, 104)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751B4C0286"
			    client     	@520
			    supplier   	@513
			    vertices   	(list Points
				(773, 216)
				(773, 257)
				(895, 257)
				(895, 199))
			    line_style 	3
			    origin_attachment 	(773, 216)
			    terminal_attachment 	(895, 199))))
		(object InheritView "" @525
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AD8E60372"
		    client     	@476
		    supplier   	@513
		    line_style 	3
		    origin_attachment 	(1367, 361)
		    terminal_attachment 	(1367, 289)
		    drawSupplier 	@514)
		(object InheritView "" @526
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B72D8E200EA"
		    client     	@474
		    supplier   	@513
		    line_style 	3
		    origin_attachment 	(752, 361)
		    terminal_attachment 	(752, 289)
		    drawSupplier 	@514)
		(object InheritView "" @527
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0CEA903D2"
		    client     	@473
		    supplier   	@513
		    line_style 	3
		    origin_attachment 	(299, 361)
		    terminal_attachment 	(299, 289)
		    drawSupplier 	@514)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @528
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 1200)
		    label      	(object ItemLabel
			Parent_View 	@528
			location   	(61, 1157)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	280
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @529
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCC4A0182"
		    client     	@528
		    supplier   	@501
		    line_style 	3
		    origin_attachment 	(216, 1145)
		    terminal_attachment 	(216, 727))
		(object AssociationViewNew "$UNNAMED$154" @530
		    location   	(1382, 1425)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DD0C03DB"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$155" @531
			    Parent_View 	@530
			    location   	(1190, 225)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DD100304"
			    client     	@530
			    supplier   	@505
			    vertices   	(list Points
				(1382, 1425)
				(2147, 1425)
				(2147, 943)
				(2067, 943))
			    line_style 	3
			    origin_attachment 	(1382, 1425)
			    terminal_attachment 	(2067, 943))
			(object RoleView "incorporatedSchema" @532
			    Parent_View 	@530
			    location   	(1190, 225)
			    label      	(object SegLabel @533
				Parent_View 	@532
				location   	(445, 1389)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+incorporatedSchema"
				pctDist    	0.706546
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DD100305"
			    client     	@530
			    supplier   	@528
			    vertices   	(list Points
				(1382, 1425)
				(225, 1425)
				(225, 1255))
			    line_style 	3
			    origin_attachment 	(1382, 1425)
			    terminal_attachment 	(225, 1255)
			    label      	(object SegLabel @534
				Parent_View 	@532
				location   	(183, 1392)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.896915
				height     	43
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$152" @535
		    location   	(1505, 1503)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DCC700EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$153" @536
			    Parent_View 	@535
			    location   	(1313, 303)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DCCE0042"
			    client     	@535
			    supplier   	@509
			    vertices   	(list Points
				(1505, 1503)
				(2188, 1503)
				(2188, 675)
				(2059, 675))
			    line_style 	3
			    origin_attachment 	(1505, 1503)
			    terminal_attachment 	(2059, 675))
			(object RoleView "resolvedSchema" @537
			    Parent_View 	@535
			    location   	(1313, 303)
			    label      	(object SegLabel @538
				Parent_View 	@537
				location   	(303, 1472)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	324
				justify    	0
				label      	"+resolvedSchema"
				pctDist    	0.733333
				height     	32
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DCCE0043"
			    client     	@535
			    supplier   	@528
			    vertices   	(list Points
				(1505, 1503)
				(113, 1503)
				(113, 1255))
			    line_style 	3
			    origin_attachment 	(1505, 1503)
			    terminal_attachment 	(113, 1255)
			    label      	(object SegLabel @539
				Parent_View 	@537
				location   	(73, 1472)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.867683
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$44" @540
		    location   	(66, 244)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B751C310356"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$45" @541
			    Parent_View 	@540
			    location   	(-94, -444)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751C330331"
			    client     	@540
			    supplier   	@513
			    vertices   	(list Points
				(66, 244)
				(66, 144)
				(866, 144))
			    line_style 	3
			    origin_attachment 	(66, 244)
			    terminal_attachment 	(866, 144))
			(object RoleView "schema" @542
			    Parent_View 	@540
			    location   	(-94, -444)
			    label      	(object SegLabel @543
				Parent_View 	@542
				location   	(165, 93)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+schema"
				pctDist    	-0.168113
				height     	99
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B751C33033B"
			    client     	@540
			    supplier   	@528
			    line_style 	3
			    origin_attachment 	(66, 244)
			    terminal_attachment 	(66, 1145)
			    label      	(object SegLabel @544
				Parent_View 	@542
				location   	(136, 184)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	113
				justify    	0
				label      	"0..1"
				pctDist    	-0.066593
				height     	70
				orientation 	0))))
		(object InheritView "" @545
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B780BD90059"
		    client     	@499
		    supplier   	@513
		    line_style 	3
		    origin_attachment 	(1759, 361)
		    terminal_attachment 	(1759, 289)
		    drawSupplier 	@514)
		(object InheritView "" @546
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69E1770116"
		    client     	@481
		    supplier   	@473
		    line_style 	3
		    origin_attachment 	(400, 1141)
		    terminal_attachment 	(400, 561)
		    drawSupplier 	@497)
		(object InheritTreeView "" @547
		    location   	(1012, 837)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@475
		    vertices   	(list Points
			(1012, 837)
			(1012, 727)))
		(object InheritView "" @548
		    stereotype 	(object SegLabel @549
			Parent_View 	@548
			location   	(1071, 871)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	243
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.888158
			height     	34
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B7FD4E20366"
		    client     	@481
		    supplier   	@475
		    line_style 	3
		    origin_attachment 	(1037, 1141)
		    terminal_attachment 	(1037, 837)
		    drawSupplier 	@547)
		(object InheritView "" @550
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DB560092"
		    client     	@505
		    supplier   	@509
		    line_style 	3
		    origin_attachment 	(1828, 889)
		    terminal_attachment 	(1828, 819)
		    drawSupplier 	@510)
		(object InheritView "" @551
		    stereotype 	(object SegLabel @552
			Parent_View 	@551
			location   	(890, 865)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	263
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.581633
			height     	36
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B7FD4BA023C"
		    client     	@500
		    supplier   	@475
		    line_style 	3
		    origin_attachment 	(925, 905)
		    terminal_attachment 	(925, 837)
		    drawSupplier 	@547)
		(object InheritView "" @553
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A26036D"
		    client     	@500
		    supplier   	@498
		    line_style 	3
		    origin_attachment 	(588, 905)
		    terminal_attachment 	(588, 727))))
	(object ClassDiagram "7. Concrete Attributes"
	    quid       	"3B9F8F7602C7"
	    title      	"7. Concrete Attributes"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDFeature" @554
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 1440)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@554
			location   	(1938, 1359)
			fill_color 	13434879
			nlines     	1
			max_width  	412
			justify    	0
			label      	"XSDFeature")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B537026C"
		    compartment 	(object Compartment
			Parent_View 	@554
			location   	(1938, 1419)
			font       	(object Font
			    italics    	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	418
			compartmentItems 	(list Compartment
			    "+ form : XSDForm"
			    "+ lexicalValue : String"))
		    width      	430
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDForm" @555
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2560, 1424)
		    label      	(object ItemLabel
			Parent_View 	@555
			location   	(2398, 1365)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"XSDForm")
		    stereotype 	(object ItemLabel
			Parent_View 	@555
			location   	(2398, 1315)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	324
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B9F913B01EB"
		    compartment 	(object Compartment
			Parent_View 	@555
			location   	(2398, 1425)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	250)
		    width      	342
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @556
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 96)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@556
			location   	(40, 37)
			fill_color 	13434879
			nlines     	1
			max_width  	657
			justify    	0
			label      	"XSDConcreteComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD7B40065"
		    compartment 	(object Compartment
			Parent_View 	@556
			location   	(40, 97)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	484
			compartmentItems 	(list Compartment
			    "+ element : DOMElement"))
		    width      	675
		    height     	143
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDComponent" @557
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(848, 384)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@557
			location   	(687, 333)
			fill_color 	13434879
			nlines     	1
			max_width  	322
			justify    	0
			label      	"XSDComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846E90029"
		    width      	340
		    height     	126
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @558
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 944)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@558
			location   	(1678, 892)
			fill_color 	13434879
			nlines     	1
			max_width  	452
			justify    	0
			label      	"XSDNamedComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846D303A4"
		    width      	470
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @559
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1600, 1408)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@559
			location   	(1328, 1356)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"XSDRedefinableComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B7FCA8B020B"
		    width      	562
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDScope" @560
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(864, 624)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@560
			location   	(745, 573)
			fill_color 	13434879
			nlines     	1
			max_width  	238
			justify    	0
			label      	"XSDScope")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B54000F2"
		    width      	256
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @561
		    location   	(850, 537)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@557
		    vertices   	(list Points
			(850, 537)
			(850, 447)))
		(object ClassView "Class" "Logical View::xsd::DOMElement" @562
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 128)
		    label      	(object ItemLabel
			Parent_View 	@562
			location   	(873, 90)
			fill_color 	13434879
			nlines     	1
			max_width  	751
			justify    	0
			label      	"DOMElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@562
			location   	(873, 40)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	751
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3B8189790200"
		    compartment 	(object Compartment
			Parent_View 	@562
			location   	(873, 150)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	731)
		    width      	769
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @563
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 640)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@563
			location   	(41, 584)
			fill_color 	13434879
			nlines     	1
			max_width  	494
			justify    	0
			label      	"XSDSchemaDirective")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD8A202A2"
		    compartment 	(object Compartment
			Parent_View 	@563
			location   	(41, 644)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	500)
		    width      	512
		    height     	136
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @564
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 384)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@564
			location   	(38, 333)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"XSDSchemaContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B688CB800BA"
		    width      	422
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @565
		    location   	(368, 263)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@556
		    vertices   	(list Points
			(368, 263)
			(368, 167)))
		(object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @566
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(992, 1456)
		    label      	(object ItemLabel
			Parent_View 	@566
			location   	(723, 1347)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"XSDDisallowedSubstitutions")
		    stereotype 	(object ItemLabel
			Parent_View 	@566
			location   	(723, 1297)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	538
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C5A403DF"
		    compartment 	(object Compartment
			Parent_View 	@566
			location   	(723, 1407)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	268
			compartmentItems 	(list Compartment
			    "+ substitution"
			    "+ extension"
			    "+ restriction"
			    "+ all"))
		    width      	556
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @567
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(880, 1792)
		    label      	(object ItemLabel
			Parent_View 	@567
			location   	(614, 1708)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"XSDProhibitedSubstitutions")
		    stereotype 	(object ItemLabel
			Parent_View 	@567
			location   	(614, 1658)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	532
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C5BE0272"
		    compartment 	(object Compartment
			Parent_View 	@567
			location   	(614, 1768)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	237
			compartmentItems 	(list Compartment
			    "+ extension"
			    "+ restriction"
			    "+ all"))
		    width      	550
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @568
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(912, 2096)
		    label      	(object ItemLabel
			Parent_View 	@568
			location   	(532, 2040)
			fill_color 	13434879
			nlines     	1
			max_width  	760
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    compartment 	(object Compartment
			Parent_View 	@568
			location   	(532, 2100)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	1
			max_width  	765
			compartmentItems 	(list Compartment
			    "<<0..*>> + lexicalFinal : XSDSimpleFinal"))
		    width      	778
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @569
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1984)
		    label      	(object ItemLabel
			Parent_View 	@569
			location   	(45, 1875)
			fill_color 	13434879
			nlines     	1
			max_width  	326
			justify    	0
			label      	"XSDSimpleFinal")
		    stereotype 	(object ItemLabel
			Parent_View 	@569
			location   	(45, 1825)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	326
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C25D0295"
		    compartment 	(object Compartment
			Parent_View 	@569
			location   	(45, 1935)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	237)
		    width      	344
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @570
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2544, 2016)
		    label      	(object ItemLabel
			Parent_View 	@570
			location   	(2362, 1932)
			fill_color 	13434879
			nlines     	1
			max_width  	364
			justify    	0
			label      	"XSDComplexFinal")
		    stereotype 	(object ItemLabel
			Parent_View 	@570
			location   	(2362, 1882)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	364
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3B97C2CA01CB"
		    compartment 	(object Compartment
			Parent_View 	@570
			location   	(2362, 1992)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	237)
		    width      	382
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @571
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1360)
		    label      	(object ItemLabel
			Parent_View 	@571
			location   	(41, 1279)
			fill_color 	13434879
			nlines     	1
			max_width  	622
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    compartment 	(object Compartment
			Parent_View 	@571
			location   	(41, 1339)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	628
			compartmentItems 	(list Compartment
			    "+ use : XSDAttributeUseCategory"
			    "+ lexicalValue : String"))
		    width      	640
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUseCategory" @572
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 1632)
		    label      	(object ItemLabel
			Parent_View 	@572
			location   	(41, 1548)
			fill_color 	13434879
			nlines     	1
			max_width  	494
			justify    	0
			label      	"XSDAttributeUseCategory")
		    stereotype 	(object ItemLabel
			Parent_View 	@572
			location   	(41, 1498)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	494
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3BA7B0E801A8"
		    compartment 	(object Compartment
			Parent_View 	@572
			location   	(41, 1608)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	234)
		    width      	512
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDTerm" @573
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2608, 928)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@573
			location   	(2498, 881)
			fill_color 	13434879
			nlines     	1
			max_width  	220
			justify    	0
			label      	"XSDTerm")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683C5E0174"
		    width      	238
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @574
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2240, 1712)
		    label      	(object ItemLabel
			Parent_View 	@574
			location   	(1757, 1631)
			fill_color 	13434879
			nlines     	1
			max_width  	966
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    compartment 	(object Compartment
			Parent_View 	@574
			location   	(1757, 1691)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	971
			compartmentItems 	(list Compartment
			    "<<0..*>> + lexicalFinal : XSDProhibitedSubstitutions"
			    "<<0..*>> + block : XSDDisallowedSubstitutions"))
		    width      	984
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @575
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2272, 1152)
		    label      	(object ItemLabel
			Parent_View 	@575
			location   	(1828, 1096)
			fill_color 	13434879
			nlines     	1
			max_width  	888
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    compartment 	(object Compartment
			Parent_View 	@575
			location   	(1828, 1156)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	893
			compartmentItems 	(list Compartment
			    "<<0..*>> + lexicalNamespaceConstraint : String"))
		    width      	906
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @576
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1120, 1008)
		    label      	(object ItemLabel
			Parent_View 	@576
			location   	(622, 777)
			fill_color 	13434879
			nlines     	1
			max_width  	996
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    compartment 	(object Compartment
			Parent_View 	@576
			location   	(622, 837)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	8
			max_width  	1003)
		    width      	1014
		    height     	486
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDImport" @577
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 960)
		    label      	(object ItemLabel
			Parent_View 	@577
			location   	(37, 904)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"XSDImport")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B688C93017F"
		    compartment 	(object Compartment
			Parent_View 	@577
			location   	(37, 964)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	412)
		    width      	424
		    height     	136
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDFacet" @578
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1344, 656)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@578
			location   	(1138, 600)
			fill_color 	13434879
			nlines     	1
			max_width  	412
			justify    	0
			label      	"XSDFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C359403D2"
		    compartment 	(object Compartment
			Parent_View 	@578
			location   	(1138, 660)
			font       	(object Font
			    italics    	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	418
			compartmentItems 	(list Compartment
			    "+ lexicalValue : String"))
		    width      	430
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @579
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1840, 2048)
		    label      	(object ItemLabel
			Parent_View 	@579
			location   	(1410, 1942)
			fill_color 	13434879
			nlines     	1
			max_width  	860
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    compartment 	(object Compartment
			Parent_View 	@579
			location   	(1410, 2002)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	865
			compartmentItems 	(list Compartment
			    "<<0..*>> + lexicalFinal : XSDComplexFinal"
			    "<<0..*>> + block : XSDProhibitedSubstitutions"
			    "+ mixed : boolean"))
		    width      	878
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @580
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1488, 1696)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@580
			location   	(1304, 1644)
			fill_color 	13434879
			nlines     	1
			max_width  	368
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	386
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @581
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAB1004D"
		    client     	@580
		    supplier   	@559
		    line_style 	3
		    origin_attachment 	(1506, 1632)
		    terminal_attachment 	(1506, 1472))
		(object ClassView "Class" "Logical View::xsd::XSDAnnotation" @582
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2208, 704)
		    label      	(object ItemLabel
			Parent_View 	@582
			location   	(1758, 598)
			fill_color 	13434879
			nlines     	1
			max_width  	900
			justify    	0
			label      	"XSDAnnotation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDC80233"
		    compartment 	(object Compartment
			Parent_View 	@582
			location   	(1758, 658)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	906)
		    width      	918
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @583
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6848AA01D3"
		    client     	@573
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(2696, 869)
		    terminal_attachment 	(2696, 537)
		    drawSupplier 	@561)
		(object InheritView "" @584
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69EDEE01BF"
		    client     	@574
		    supplier   	@554
		    line_style 	3
		    origin_attachment 	(2094, 1619)
		    terminal_attachment 	(2094, 1533))
		(object InheritTreeView "" @585
		    location   	(1487, 1856)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@580
		    vertices   	(list Points
			(1487, 1856)
			(1487, 1760)))
		(object ClassView "Class" "Logical View::xsd::DOMAttr" @586
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2400, 384)
		    label      	(object ItemLabel
			Parent_View 	@586
			location   	(2080, 350)
			fill_color 	13434879
			nlines     	1
			max_width  	640
			justify    	0
			label      	"DOMAttr")
		    stereotype 	(object ItemLabel
			Parent_View 	@586
			location   	(2080, 300)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	640
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3BBF8C8901B6"
		    compartment 	(object Compartment
			Parent_View 	@586
			location   	(2080, 410)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	646)
		    width      	658
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @587
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@579
		    supplier   	@580
		    line_style 	3
		    origin_attachment 	(1734, 1930)
		    terminal_attachment 	(1734, 1856)
		    drawSupplier 	@585)
		(object InheritView "" @588
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D25680259"
		    client     	@578
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(1328, 588)
		    terminal_attachment 	(1328, 537)
		    drawSupplier 	@561)
		(object InheritView "" @589
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69E1770116"
		    client     	@582
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(2190, 586)
		    terminal_attachment 	(2190, 537)
		    drawSupplier 	@561)
		(object InheritView "" @590
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE32102AF"
		    client     	@563
		    supplier   	@564
		    line_style 	3
		    origin_attachment 	(222, 572)
		    terminal_attachment 	(222, 447))
		(object InheritView "" @591
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AD8E60372"
		    client     	@564
		    supplier   	@556
		    line_style 	3
		    origin_attachment 	(260, 321)
		    terminal_attachment 	(260, 263)
		    drawSupplier 	@565)
		(object InheritView "" @592
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AD8D9003E"
		    client     	@577
		    supplier   	@563
		    line_style 	3
		    origin_attachment 	(223, 892)
		    terminal_attachment 	(223, 708))
		(object InheritView "" @593
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A3A0041"
		    client     	@575
		    supplier   	@573
		    line_style 	3
		    origin_attachment 	(2600, 1084)
		    terminal_attachment 	(2600, 987))
		(object ClassView "Class" "Logical View::xsd::DOMDocument" @594
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2336, 128)
		    label      	(object ItemLabel
			Parent_View 	@594
			location   	(1957, 94)
			fill_color 	13434879
			nlines     	1
			max_width  	758
			justify    	0
			label      	"DOMDocument")
		    stereotype 	(object ItemLabel
			Parent_View 	@594
			location   	(1957, 44)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	758
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3C27850E0381"
		    compartment 	(object Compartment
			Parent_View 	@594
			location   	(1957, 154)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	765)
		    width      	776
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @595
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0CEA903D2"
		    client     	@557
		    supplier   	@556
		    line_style 	3
		    origin_attachment 	(856, 321)
		    terminal_attachment 	(856, 263)
		    drawSupplier 	@565)
		(object ClassView "Class" "Logical View::xsd::DOMNode" @596
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1568, 384)
		    label      	(object ItemLabel
			Parent_View 	@596
			location   	(1234, 350)
			fill_color 	13434879
			nlines     	1
			max_width  	668
			justify    	0
			label      	"DOMNode")
		    stereotype 	(object ItemLabel
			Parent_View 	@596
			location   	(1234, 300)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	668
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3BFE64A50117"
		    compartment 	(object Compartment
			Parent_View 	@596
			location   	(1234, 410)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	675)
		    width      	686
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @597
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCD640231"
		    client     	@560
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(850, 561)
		    terminal_attachment 	(850, 537)
		    drawSupplier 	@561)
		(object InheritView "" @598
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B72D7BB0349"
		    client     	@571
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(575, 1267)
		    terminal_attachment 	(575, 537)
		    drawSupplier 	@561)
		(object InheritView "" @599
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0CEA20197"
		    client     	@558
		    supplier   	@557
		    line_style 	3
		    origin_attachment 	(1694, 880)
		    terminal_attachment 	(1694, 537)
		    drawSupplier 	@561)
		(object InheritView "" @600
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCC4A0182"
		    client     	@576
		    supplier   	@560
		    line_style 	3
		    origin_attachment 	(856, 765)
		    terminal_attachment 	(856, 687))
		(object InheritTreeView "" @601
		    location   	(1703, 1290)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@558
		    vertices   	(list Points
			(1703, 1290)
			(1703, 1008)))
		(object InheritView "" @602
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A26036D"
		    client     	@559
		    supplier   	@558
		    line_style 	3
		    origin_attachment 	(1503, 1344)
		    terminal_attachment 	(1503, 1290)
		    drawSupplier 	@601)
		(object InheritView "" @603
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A2C0307"
		    client     	@554
		    supplier   	@558
		    line_style 	3
		    origin_attachment 	(2093, 1347)
		    terminal_attachment 	(2093, 1290)
		    drawSupplier 	@601)
		(object InheritView "" @604
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@568
		    supplier   	@580
		    line_style 	3
		    origin_attachment 	(1253, 2028)
		    terminal_attachment 	(1253, 1856)
		    drawSupplier 	@585)))
	(object ClassDiagram "8. Concrete Containment"
	    quid       	"3B6A8097027A"
	    title      	"8. Concrete Containment"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @605
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2672, 992)
		    label      	(object ItemLabel
			Parent_View 	@605
			location   	(2439, 949)
			fill_color 	13434879
			nlines     	1
			max_width  	466
			justify    	0
			label      	"XSDNotationDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66EDAA021C"
		    width      	484
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @606
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2640, 576)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@606
			location   	(2431, 533)
			fill_color 	13434879
			nlines     	1
			max_width  	418
			justify    	0
			label      	"XSDSchemaDirective")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD8A202A2"
		    width      	436
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefine" @607
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 784)
		    label      	(object ItemLabel
			Parent_View 	@607
			location   	(2013, 741)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"XSDRedefine")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B688C9B02AD"
		    width      	280
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @608
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2064, 576)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@608
			location   	(1854, 533)
			fill_color 	13434879
			nlines     	1
			max_width  	420
			justify    	0
			label      	"XSDRedefineContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AE2060172"
		    width      	438
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @609
		    location   	(1943, 868)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@608
		    vertices   	(list Points
			(1943, 868)
			(1943, 631)))
		(object AssociationViewNew "$UNNAMED$100" @610
		    location   	(2125, 680)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE8240051"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$101" @611
			    Parent_View 	@610
			    location   	(157, 344)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6AE82602AD"
			    client     	@610
			    supplier   	@607
			    line_style 	3
			    origin_attachment 	(2125, 680)
			    terminal_attachment 	(2125, 729))
			(object RoleView "contents" @612
			    Parent_View 	@610
			    location   	(157, 344)
			    label      	(object SegLabel @613
				Parent_View 	@612
				location   	(2255, 671)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+contents"
				pctDist    	0.175439
				height     	130
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6AE82602B7"
			    client     	@610
			    supplier   	@608
			    line_style 	3
			    origin_attachment 	(2125, 680)
			    terminal_attachment 	(2125, 631)
			    label      	(object SegLabel @614
				Parent_View 	@612
				location   	(2067, 671)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.175439
				height     	59
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDTerm" @615
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 320)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@615
			location   	(148, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	216
			justify    	0
			label      	"XSDTerm")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683C5E0174"
		    width      	234
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @616
		    location   	(272, 465)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@615
		    vertices   	(list Points
			(272, 465)
			(272, 375)))
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @617
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2656, 1168)
		    label      	(object ItemLabel
			Parent_View 	@617
			location   	(2372, 1121)
			fill_color 	13434879
			nlines     	1
			max_width  	569
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	587
		    height     	118
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroup" @618
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 576)
		    label      	(object ItemLabel
			Parent_View 	@618
			location   	(89, 533)
			fill_color 	13434879
			nlines     	1
			max_width  	334
			justify    	0
			label      	"XSDModelGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6834E00291"
		    width      	352
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$88" @619
		    location   	(1170, 1356)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6837AC025A"
		    roleview_list 	(list RoleViews
			(object RoleView "modelGroup" @620
			    Parent_View 	@619
			    location   	(866, -20)
			    label      	(object SegLabel @621
				Parent_View 	@620
				location   	(269, 1389)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	252
				justify    	0
				label      	"+modelGroup"
				pctDist    	0.534044
				height     	33
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837AD0339"
			    client     	@619
			    supplier   	@618
			    vertices   	(list Points
				(1170, 1356)
				(206, 1356)
				(206, 631))
			    line_style 	3
			    origin_attachment 	(1170, 1356)
			    terminal_attachment 	(206, 631)
			    label      	(object SegLabel @622
				Parent_View 	@620
				location   	(226, 1322)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.559146
				height     	35
				orientation 	1))
			(object RoleView "$UNNAMED$89" @623
			    Parent_View 	@619
			    location   	(866, -20)
			    label      	(object SegLabel @624
				Parent_View 	@623
				location   	(2521, 1398)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6837AD0338"
			    client     	@619
			    supplier   	@617
			    vertices   	(list Points
				(1170, 1356)
				(2731, 1356)
				(2731, 1227))
			    line_style 	3
			    origin_attachment 	(1170, 1356)
			    terminal_attachment 	(2731, 1227))))
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @625
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(160, 1696)
		    label      	(object ItemLabel
			Parent_View 	@625
			location   	(35, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	250
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	268
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$82" @626
		    location   	(122, 1136)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6BCEB102F8"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$83" @627
			    Parent_View 	@626
			    location   	(-630, -256)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6BCEB6001B"
			    client     	@626
			    supplier   	@618
			    line_style 	3
			    origin_attachment 	(122, 1136)
			    terminal_attachment 	(122, 631))
			(object RoleView "contents" @628
			    Parent_View 	@626
			    location   	(-630, -256)
			    label      	(object SegLabel @629
				Parent_View 	@628
				location   	(223, 1515)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+contents"
				pctDist    	0.750495
				height     	101
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6BCEB60025"
			    client     	@626
			    supplier   	@625
			    line_style 	3
			    origin_attachment 	(122, 1136)
			    terminal_attachment 	(122, 1641)
			    label      	(object SegLabel @630
				Parent_View 	@628
				location   	(180, 1581)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.881188
				height     	58
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDParticleContent" @631
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 80)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@631
			location   	(41, 42)
			fill_color 	13434879
			nlines     	1
			max_width  	495
			justify    	0
			label      	"XSDParticleContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6BD22300C6"
		    width      	513
		    height     	100
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$94" @632
		    location   	(47, 885)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6B47150119"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$95" @633
			    Parent_View 	@632
			    location   	(-289, 821)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B471A03AB"
			    client     	@632
			    supplier   	@625
			    line_style 	3
			    origin_attachment 	(47, 885)
			    terminal_attachment 	(47, 1641))
			(object RoleView "content" @634
			    Parent_View 	@632
			    location   	(-289, 821)
			    label      	(object SegLabel @635
				Parent_View 	@634
				location   	(142, 189)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+content"
				pctDist    	0.921854
				height     	95
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B471A03B5"
			    client     	@632
			    supplier   	@631
			    line_style 	3
			    origin_attachment 	(47, 885)
			    terminal_attachment 	(47, 130)
			    label      	(object SegLabel @636
				Parent_View 	@634
				location   	(28, 192)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.917881
				height     	19
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @637
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1424, 896)
		    label      	(object ItemLabel
			Parent_View 	@637
			location   	(1252, 849)
			fill_color 	13434879
			nlines     	1
			max_width  	345
			justify    	0
			label      	"XSDAttributeUse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B68354601A8"
		    width      	363
		    height     	119
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @638
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1408, 1168)
		    label      	(object ItemLabel
			Parent_View 	@638
			location   	(1175, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	466
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	484
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$24" @639
		    location   	(1319, 1034)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6F1DE9018A"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$25" @640
			    Parent_View 	@639
			    location   	(-57, -102)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6F1DEA036C"
			    client     	@639
			    supplier   	@637
			    line_style 	3
			    origin_attachment 	(1319, 1034)
			    terminal_attachment 	(1319, 955))
			(object RoleView "content" @641
			    Parent_View 	@639
			    location   	(-57, -102)
			    label      	(object SegLabel @642
				Parent_View 	@641
				location   	(1439, 1039)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+content"
				pctDist    	0.073171
				height     	120
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6F1DEA0380"
			    client     	@639
			    supplier   	@638
			    line_style 	3
			    origin_attachment 	(1319, 1034)
			    terminal_attachment 	(1319, 1113)
			    label      	(object SegLabel @643
				Parent_View 	@641
				location   	(1279, 1031)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.040816
				height     	41
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @644
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2080, 1696)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@644
			location   	(1855, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"XSDConstrainingFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C6B340093"
		    width      	468
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @645
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 1696)
		    label      	(object ItemLabel
			Parent_View 	@645
			location   	(1035, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	490
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    width      	508
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$120" @646
		    location   	(1351, 1840)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D5CA50112"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$121" @647
			    Parent_View 	@646
			    location   	(-297, 224)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D5CA703B4"
			    client     	@646
			    supplier   	@645
			    vertices   	(list Points
				(1351, 1840)
				(1294, 1840)
				(1294, 1751))
			    line_style 	3
			    origin_attachment 	(1351, 1840)
			    terminal_attachment 	(1294, 1751))
			(object RoleView "contents" @648
			    Parent_View 	@646
			    location   	(-297, 224)
			    label      	(object SegLabel @649
				Parent_View 	@648
				location   	(1517, 1806)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+contents"
				pctDist    	0.632653
				height     	108
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D5CA703C8"
			    client     	@646
			    supplier   	@645
			    vertices   	(list Points
				(1351, 1840)
				(1409, 1840)
				(1409, 1751))
			    line_style 	3
			    origin_attachment 	(1351, 1840)
			    terminal_attachment 	(1409, 1751)
			    label      	(object SegLabel @650
				Parent_View 	@648
				location   	(1361, 1801)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.072848
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$4" @651
		    location   	(1190, 1432)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6890D6006F"
		    roleview_list 	(list RoleViews
			(object RoleView "anonymousTypeDefinition" @652
			    Parent_View 	@651
			    location   	(774, -1832)
			    label      	(object SegLabel @653
				Parent_View 	@652
				location   	(1462, 1525)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	492
				justify    	0
				label      	"+anonymousTypeDefinition"
				pctDist    	0.444976
				height     	272
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6890D60318"
			    client     	@651
			    supplier   	@645
			    line_style 	3
			    origin_attachment 	(1190, 1432)
			    terminal_attachment 	(1190, 1641)
			    label      	(object SegLabel @654
				Parent_View 	@652
				location   	(1143, 1527)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.454545
				height     	47
				orientation 	1))
			(object RoleView "$UNNAMED$5" @655
			    Parent_View 	@651
			    location   	(774, -1832)
			    label      	(object SegLabel @656
				Parent_View 	@655
				location   	(1149, 1266)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6890D6030E"
			    client     	@651
			    supplier   	@638
			    line_style 	3
			    origin_attachment 	(1190, 1432)
			    terminal_attachment 	(1190, 1223))))
		(object AssociationViewNew "$UNNAMED$122" @657
		    location   	(1690, 1684)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6C35AD0374"
		    roleview_list 	(list RoleViews
			(object RoleView "facetContents" @658
			    Parent_View 	@657
			    location   	(-326, -12)
			    label      	(object SegLabel @659
				Parent_View 	@658
				location   	(1695, 1731)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+facetContents"
				pctDist    	0.032051
				height     	47
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C35AF0010"
			    client     	@657
			    supplier   	@644
			    line_style 	3
			    origin_attachment 	(1690, 1684)
			    terminal_attachment 	(1846, 1684)
			    label      	(object SegLabel @660
				Parent_View 	@658
				location   	(1756, 1644)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	94
				justify    	0
				label      	"0..*"
				pctDist    	0.420732
				height     	41
				orientation 	0))
			(object RoleView "$UNNAMED$123" @661
			    Parent_View 	@657
			    location   	(-326, -12)
			    label      	(object SegLabel @662
				Parent_View 	@661
				location   	(1566, 1643)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6C35AF0006"
			    client     	@657
			    supplier   	@645
			    line_style 	3
			    origin_attachment 	(1690, 1684)
			    terminal_attachment 	(1534, 1684))))
		(object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @663
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2624, 784)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@663
			location   	(2388, 741)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"XSDSchemaCompositor")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C21DB4102AE"
		    width      	490
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @664
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 320)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@664
			location   	(1108, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"XSDSchemaContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B688CB800BA"
		    width      	426
		    height     	110
		    annotation 	8)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @665
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(688, 320)
		    label      	(object ItemLabel
			Parent_View 	@665
			location   	(557, 277)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	280
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$102" @666
		    location   	(963, 319)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B688E6B003D"
		    roleview_list 	(list RoleViews
			(object RoleView "contents" @667
			    Parent_View 	@666
			    location   	(595, -17)
			    label      	(object SegLabel @668
				Parent_View 	@667
				location   	(974, 361)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+contents"
				pctDist    	0.081081
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B688E6C0111"
			    client     	@666
			    supplier   	@664
			    line_style 	3
			    origin_attachment 	(963, 319)
			    terminal_attachment 	(1099, 319)
			    label      	(object SegLabel @669
				Parent_View 	@667
				location   	(1016, 290)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.396396
				height     	30
				orientation 	0))
			(object RoleView "$UNNAMED$103" @670
			    Parent_View 	@666
			    location   	(595, -17)
			    label      	(object SegLabel @671
				Parent_View 	@670
				location   	(855, 361)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B688E6C0107"
			    client     	@666
			    supplier   	@665
			    line_style 	3
			    origin_attachment 	(963, 319)
			    terminal_attachment 	(828, 319))))
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @672
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2160, 992)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@672
			location   	(1974, 949)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	390
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @673
		    location   	(2322, 1593)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@672
		    vertices   	(list Points
			(2322, 1593)
			(2322, 1047)))
		(object InheritView "" @674
		    stereotype 	(object SegLabel @675
			Parent_View 	@674
			location   	(2146, 905)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	225
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.460000
			height     	5
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B6AE2F5013A"
		    client     	@672
		    supplier   	@608
		    line_style 	3
		    origin_attachment 	(2150, 937)
		    terminal_attachment 	(2150, 868)
		    drawSupplier 	@609)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @676
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(832, 576)
		    label      	(object ItemLabel
			Parent_View 	@676
			location   	(510, 532)
			fill_color 	13434879
			nlines     	1
			max_width  	644
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	662
		    height     	112
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$48" @677
		    location   	(1498, 1431)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B68911401AF"
		    roleview_list 	(list RoleViews
			(object RoleView "anonymousTypeDefinition" @678
			    Parent_View 	@677
			    location   	(1038, -1810)
			    label      	(object SegLabel @679
				Parent_View 	@678
				location   	(2027, 1472)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	492
				justify    	0
				label      	"+anonymousTypeDefinition"
				pctDist    	0.454389
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6891150017"
			    client     	@677
			    supplier   	@672
			    vertices   	(list Points
				(1498, 1431)
				(2281, 1431)
				(2281, 1047))
			    line_style 	3
			    origin_attachment 	(1498, 1431)
			    terminal_attachment 	(2281, 1047)
			    label      	(object SegLabel @680
				Parent_View 	@678
				location   	(2204, 1397)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.605419
				height     	35
				orientation 	0))
			(object RoleView "$UNNAMED$49" @681
			    Parent_View 	@677
			    location   	(1038, -1810)
			    label      	(object SegLabel @682
				Parent_View 	@681
				location   	(1090, 866)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6891150016"
			    client     	@677
			    supplier   	@676
			    vertices   	(list Points
				(1498, 1431)
				(1131, 1431)
				(1131, 632))
			    line_style 	3
			    origin_attachment 	(1498, 1431)
			    terminal_attachment 	(1131, 632))))
		(object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @683
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(848, 1168)
		    label      	(object ItemLabel
			Parent_View 	@683
			location   	(655, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	386
			justify    	0
			label      	"XSDXPathDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6D83BB0355"
		    width      	404
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @684
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 896)
		    label      	(object ItemLabel
			Parent_View 	@684
			location   	(505, 853)
			fill_color 	13434879
			nlines     	1
			max_width  	590
			justify    	0
			label      	"XSDIdentityConstraintDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B2603A2"
		    width      	608
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$52" @685
		    location   	(534, 736)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6833EF0160"
		    roleview_list 	(list RoleViews
			(object RoleView "identityConstraintDefinitions" @686
			    Parent_View 	@685
			    location   	(86, -2144)
			    label      	(object SegLabel @687
				Parent_View 	@686
				location   	(820, 748)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	550
				justify    	0
				label      	"+identityConstraintDefinitions"
				pctDist    	0.111111
				height     	286
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6833F00299"
			    client     	@685
			    supplier   	@684
			    line_style 	3
			    origin_attachment 	(534, 736)
			    terminal_attachment 	(534, 841)
			    label      	(object SegLabel @688
				Parent_View 	@686
				location   	(595, 807)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.675926
				height     	61
				orientation 	0))
			(object RoleView "$UNNAMED$53" @689
			    Parent_View 	@685
			    location   	(86, -2144)
			    label      	(object SegLabel @690
				Parent_View 	@689
				location   	(576, 653)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6833F00298"
			    client     	@685
			    supplier   	@676
			    line_style 	3
			    origin_attachment 	(534, 736)
			    terminal_attachment 	(534, 632))))
		(object AssociationViewNew "$UNNAMED$72" @691
		    location   	(900, 1032)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D8D3D003E"
		    roleview_list 	(list RoleViews
			(object RoleView "selector" @692
			    Parent_View 	@691
			    location   	(84, 120)
			    label      	(object SegLabel @693
				Parent_View 	@692
				location   	(1013, 1042)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+selector"
				pctDist    	0.123288
				height     	113
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D3E0234"
			    client     	@691
			    supplier   	@683
			    line_style 	3
			    origin_attachment 	(900, 1032)
			    terminal_attachment 	(900, 1113)
			    label      	(object SegLabel @694
				Parent_View 	@692
				location   	(859, 1040)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.095890
				height     	42
				orientation 	1))
			(object RoleView "$UNNAMED$73" @695
			    Parent_View 	@691
			    location   	(84, 120)
			    label      	(object SegLabel @696
				Parent_View 	@695
				location   	(859, 968)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D3E022A"
			    client     	@691
			    supplier   	@684
			    line_style 	3
			    origin_attachment 	(900, 1032)
			    terminal_attachment 	(900, 951))))
		(object AssociationViewNew "$UNNAMED$74" @697
		    location   	(700, 1032)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6D8D330025"
		    roleview_list 	(list RoleViews
			(object RoleView "fields" @698
			    Parent_View 	@697
			    location   	(-116, 120)
			    label      	(object SegLabel @699
				Parent_View 	@698
				location   	(616, 1036)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	120
				justify    	0
				label      	"+fields"
				pctDist    	0.054795
				height     	85
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D330379"
			    client     	@697
			    supplier   	@683
			    line_style 	3
			    origin_attachment 	(700, 1032)
			    terminal_attachment 	(700, 1113)
			    label      	(object SegLabel @700
				Parent_View 	@698
				location   	(771, 1042)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..*"
				pctDist    	0.123077
				height     	71
				orientation 	0))
			(object RoleView "$UNNAMED$75" @701
			    Parent_View 	@697
			    location   	(-116, 120)
			    label      	(object SegLabel @702
				Parent_View 	@701
				location   	(659, 968)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6D8D330365"
			    client     	@697
			    supplier   	@684
			    line_style 	3
			    origin_attachment 	(700, 1032)
			    terminal_attachment 	(700, 951))))
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @703
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(752, 1440)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@703
			location   	(500, 1397)
			fill_color 	13434879
			nlines     	1
			max_width  	504
			justify    	0
			label      	"XSDComplexTypeContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B683BA00196"
		    width      	522
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @704
		    location   	(550, 1590)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@703
		    vertices   	(list Points
			(550, 1590)
			(550, 1495)))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @705
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1504, 576)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@705
			location   	(1240, 533)
			fill_color 	13434879
			nlines     	1
			max_width  	528
			justify    	0
			label      	"XSDAttributeGroupContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6940200089"
		    width      	546
		    height     	110
		    annotation 	8)
		(object InheritTreeView "" @706
		    location   	(1406, 765)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@705
		    vertices   	(list Points
			(1406, 765)
			(1406, 631)))
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @707
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2656, 1696)
		    label      	(object ItemLabel
			Parent_View 	@707
			location   	(2393, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	526
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	544
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$30" @708
		    location   	(1614, 1868)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6FDDD70113"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$31" @709
			    Parent_View 	@708
			    location   	(526, 476)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6FDDDA026B"
			    client     	@708
			    supplier   	@707
			    vertices   	(list Points
				(1614, 1868)
				(2500, 1868)
				(2500, 1751))
			    line_style 	3
			    origin_attachment 	(1614, 1868)
			    terminal_attachment 	(2500, 1751))
			(object RoleView "content" @710
			    Parent_View 	@708
			    location   	(526, 476)
			    label      	(object SegLabel @711
				Parent_View 	@710
				location   	(896, 1787)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+content"
				pctDist    	0.709870
				height     	89
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6FDDDA0275"
			    client     	@708
			    supplier   	@703
			    vertices   	(list Points
				(1614, 1868)
				(984, 1868)
				(984, 1495))
			    line_style 	3
			    origin_attachment 	(1614, 1868)
			    terminal_attachment 	(984, 1495)
			    label      	(object SegLabel @712
				Parent_View 	@710
				location   	(1042, 1824)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.571286
				height     	45
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$36" @713
		    location   	(2927, 387)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B698E360386"
		    roleview_list 	(list RoleViews
			(object RoleView "attributeContents" @714
			    Parent_View 	@713
			    location   	(2463, -3757)
			    label      	(object SegLabel @715
				Parent_View 	@714
				location   	(1915, 357)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+attributeContents"
				pctDist    	0.773060
				height     	31
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B698E38007C"
			    client     	@713
			    supplier   	@705
			    vertices   	(list Points
				(2927, 387)
				(1750, 387)
				(1750, 521))
			    line_style 	3
			    origin_attachment 	(2927, 387)
			    terminal_attachment 	(1750, 521)
			    label      	(object SegLabel @716
				Parent_View 	@714
				location   	(1804, 425)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.857247
				height     	38
				orientation 	0))
			(object RoleView "$UNNAMED$37" @717
			    Parent_View 	@713
			    location   	(2463, -3757)
			    label      	(object SegLabel @718
				Parent_View 	@717
				location   	(2946, 1448)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B698E380072"
			    client     	@713
			    supplier   	@707
			    vertices   	(list Points
				(2927, 387)
				(2987, 387)
				(2987, 1671)
				(2928, 1671))
			    line_style 	3
			    origin_attachment 	(2927, 387)
			    terminal_attachment 	(2928, 1671))))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @719
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1968, 1168)
		    label      	(object ItemLabel
			Parent_View 	@719
			location   	(1699, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	556
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$12" @720
		    location   	(1750, 872)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69404E0067"
		    roleview_list 	(list RoleViews
			(object RoleView "contents" @721
			    Parent_View 	@720
			    location   	(1462, -2392)
			    label      	(object SegLabel @722
				Parent_View 	@721
				location   	(1640, 691)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+contents"
				pctDist    	0.751037
				height     	110
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B69405002A5"
			    client     	@720
			    supplier   	@705
			    line_style 	3
			    origin_attachment 	(1750, 872)
			    terminal_attachment 	(1750, 631)
			    label      	(object SegLabel @723
				Parent_View 	@721
				location   	(1814, 695)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.734440
				height     	64
				orientation 	1))
			(object RoleView "$UNNAMED$13" @724
			    Parent_View 	@720
			    location   	(1462, -2392)
			    label      	(object SegLabel @725
				Parent_View 	@724
				location   	(1709, 1065)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B694050029B"
			    client     	@720
			    supplier   	@719
			    line_style 	3
			    origin_attachment 	(1750, 872)
			    terminal_attachment 	(1750, 1113))))
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @726
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 1168)
		    label      	(object ItemLabel
			Parent_View 	@726
			location   	(279, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    width      	292
		    height     	110
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$144" @727
		    location   	(1252, 1896)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BEBDC870247"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$145" @728
			    Parent_View 	@727
			    location   	(708, 1288)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BEBDC8C02F9"
			    client     	@727
			    supplier   	@707
			    vertices   	(list Points
				(1252, 1896)
				(2603, 1896)
				(2603, 1751))
			    line_style 	3
			    origin_attachment 	(1252, 1896)
			    terminal_attachment 	(2603, 1751))
			(object RoleView "attributeWildcardContent" @729
			    Parent_View 	@727
			    location   	(708, 1288)
			    label      	(object SegLabel @730
				Parent_View 	@729
				location   	(682, 1858)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+attributeWildcardContent"
				pctDist    	0.381142
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BEBDC8C0303"
			    client     	@727
			    supplier   	@726
			    vertices   	(list Points
				(1252, 1896)
				(428, 1896)
				(428, 1223))
			    line_style 	3
			    origin_attachment 	(1252, 1896)
			    terminal_attachment 	(428, 1223)
			    label      	(object SegLabel @731
				Parent_View 	@729
				location   	(382, 1860)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.575033
				height     	47
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$16" @732
		    location   	(1199, 1321)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C275D320220"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$17" @733
			    Parent_View 	@732
			    location   	(655, 713)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C275D3C010C"
			    client     	@732
			    supplier   	@719
			    vertices   	(list Points
				(1199, 1321)
				(1897, 1321)
				(1897, 1223))
			    line_style 	3
			    origin_attachment 	(1199, 1321)
			    terminal_attachment 	(1897, 1223))
			(object RoleView "attributeWildcardContent" @734
			    Parent_View 	@732
			    location   	(655, 713)
			    label      	(object SegLabel @735
				Parent_View 	@734
				location   	(857, 1279)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+attributeWildcardContent"
				pctDist    	0.429569
				height     	43
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C275D3C010D"
			    client     	@732
			    supplier   	@726
			    vertices   	(list Points
				(1199, 1321)
				(500, 1321)
				(500, 1223))
			    line_style 	3
			    origin_attachment 	(1199, 1321)
			    terminal_attachment 	(500, 1223)
			    label      	(object SegLabel @736
				Parent_View 	@734
				location   	(576, 1279)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.782305
				height     	43
				orientation 	1))))
		(object InheritView "" @737
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@707
		    supplier   	@672
		    line_style 	3
		    origin_attachment 	(2606, 1641)
		    terminal_attachment 	(2606, 1593)
		    drawSupplier 	@673)
		(object InheritView "" @738
		    stereotype 	(object SegLabel @739
			Parent_View 	@738
			location   	(759, 495)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	243
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.446429
			height     	6
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B685F17002E"
		    client     	@676
		    supplier   	@615
		    line_style 	3
		    origin_attachment 	(753, 520)
		    terminal_attachment 	(753, 465)
		    drawSupplier 	@616)
		(object InheritView "" @740
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@645
		    supplier   	@672
		    line_style 	3
		    origin_attachment 	(1409, 1641)
		    terminal_attachment 	(1409, 1593)
		    drawSupplier 	@673)
		(object InheritView "" @741
		    stereotype 	(object SegLabel @742
			Parent_View 	@741
			location   	(759, 1591)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	219
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.980392
			height     	385
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B685F55032B"
		    client     	@645
		    supplier   	@703
		    line_style 	3
		    origin_attachment 	(1144, 1641)
		    terminal_attachment 	(1144, 1590)
		    drawSupplier 	@704)
		(object InheritView "" @743
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A640279"
		    client     	@618
		    supplier   	@615
		    line_style 	3
		    origin_attachment 	(166, 521)
		    terminal_attachment 	(166, 465)
		    drawSupplier 	@616)
		(object InheritTreeView "" @744
		    location   	(431, 222)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@631
		    vertices   	(list Points
			(431, 222)
			(431, 130)))
		(object InheritView "" @745
		    stereotype 	(object SegLabel @746
			Parent_View 	@745
			location   	(361, 224)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	237
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.976744
			height     	86
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B6BD2440069"
		    client     	@615
		    supplier   	@631
		    line_style 	3
		    origin_attachment 	(275, 265)
		    terminal_attachment 	(275, 222)
		    drawSupplier 	@744)
		(object InheritTreeView "" @747
		    location   	(1309, 465)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@664
		    vertices   	(list Points
			(1309, 465)
			(1309, 375)))
		(object InheritView "" @748
		    stereotype 	(object SegLabel @749
			Parent_View 	@748
			location   	(941, 495)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	225
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.464286
			height     	10
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B688E660339"
		    client     	@676
		    supplier   	@664
		    line_style 	3
		    origin_attachment 	(931, 520)
		    terminal_attachment 	(931, 465)
		    drawSupplier 	@747)
		(object InheritView "" @750
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6848FC01E7"
		    client     	@625
		    supplier   	@703
		    line_style 	3
		    origin_attachment 	(250, 1641)
		    terminal_attachment 	(250, 1590)
		    drawSupplier 	@704)
		(object InheritView "" @751
		    stereotype 	(object SegLabel @752
			Parent_View 	@751
			location   	(1205, 493)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	212
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.958333
			height     	8
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B688E6103BE"
		    client     	@638
		    supplier   	@664
		    line_style 	3
		    origin_attachment 	(1197, 1113)
		    terminal_attachment 	(1197, 465)
		    drawSupplier 	@747)
		(object InheritView "" @753
		    stereotype 	(object SegLabel @754
			Parent_View 	@753
			location   	(1951, 905)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	225
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.848980
			height     	73
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B6AE2EB02A8"
		    client     	@719
		    supplier   	@608
		    line_style 	3
		    origin_attachment 	(1878, 1113)
		    terminal_attachment 	(1878, 868)
		    drawSupplier 	@609)
		(object InheritView "" @755
		    stereotype 	(object SegLabel @756
			Parent_View 	@755
			location   	(1642, 807)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	187
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.879310
			height     	61
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B69403A0221"
		    client     	@719
		    supplier   	@705
		    line_style 	3
		    origin_attachment 	(1703, 1113)
		    terminal_attachment 	(1703, 765)
		    drawSupplier 	@706)
		(object InheritView "" @757
		    stereotype 	(object SegLabel @758
			Parent_View 	@757
			location   	(1354, 801)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	225
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.500000
			height     	70
			orientation 	1)
		    line_color 	3342489
		    quidu      	"3B72D737038F"
		    client     	@637
		    supplier   	@705
		    line_style 	3
		    origin_attachment 	(1284, 837)
		    terminal_attachment 	(1284, 765)
		    drawSupplier 	@706)
		(object InheritView "" @759
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DB640240"
		    client     	@607
		    supplier   	@663
		    line_style 	3
		    origin_attachment 	(2284, 762)
		    terminal_attachment 	(2379, 762))
		(object InheritView "" @760
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE32102AF"
		    client     	@606
		    supplier   	@664
		    line_style 	3
		    origin_attachment 	(2637, 521)
		    terminal_attachment 	(2637, 465)
		    drawSupplier 	@747)
		(object InheritView "" @761
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DB560092"
		    client     	@663
		    supplier   	@606
		    line_style 	3
		    origin_attachment 	(2637, 729)
		    terminal_attachment 	(2637, 631))
		(object InheritView "" @762
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6AE2B301D5"
		    client     	@608
		    supplier   	@664
		    line_style 	3
		    origin_attachment 	(1950, 521)
		    terminal_attachment 	(1950, 465)
		    drawSupplier 	@747)
		(object InheritView "" @763
		    stereotype 	(object SegLabel @764
			Parent_View 	@763
			location   	(2821, 897)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	181
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.087719
			height     	76
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B688E4F023C"
		    client     	@605
		    supplier   	@664
		    line_style 	3
		    origin_attachment 	(2896, 937)
		    terminal_attachment 	(2896, 465)
		    drawSupplier 	@747)
		(object InheritView "" @765
		    stereotype 	(object SegLabel @766
			Parent_View 	@765
			location   	(2313, 904)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	207
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.850622
			height     	68
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B6AE2E20381"
		    client     	@617
		    supplier   	@608
		    line_style 	3
		    origin_attachment 	(2381, 1109)
		    terminal_attachment 	(2381, 868)
		    drawSupplier 	@609)
		(object InheritView "" @767
		    stereotype 	(object SegLabel @768
			Parent_View 	@767
			location   	(2878, 269)
			font       	(object Font
			    size       	8)
			anchor     	10
			anchor_loc 	1
			nlines     	1
			max_width  	238
			justify    	0
			label      	"<<mixin>>"
			pctDist    	0.946667
			height     	66
			orientation 	0)
		    line_color 	3342489
		    quidu      	"3B6BD2550385"
		    client     	@617
		    supplier   	@631
		    line_style 	3
		    origin_attachment 	(2943, 1109)
		    terminal_attachment 	(2943, 222)
		    drawSupplier 	@744)
		(object InheritView "" @769
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A3A0041"
		    client     	@726
		    supplier   	@615
		    line_style 	3
		    origin_attachment 	(462, 1113)
		    terminal_attachment 	(462, 465)
		    drawSupplier 	@616)))
	(object ClassDiagram "9. Concrete Schema Composition"
	    quid       	"3C25EB7A038C"
	    title      	"9. Concrete Schema Composition"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @770
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 1536)
		    label      	(object ItemLabel
			Parent_View 	@770
			location   	(73, 1493)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	480
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$54" @771
		    location   	(228, 1695)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6B41E60251"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$55" @772
			    Parent_View 	@771
			    location   	(-476, -385)
			    label      	(object SegLabel @773
				Parent_View 	@772
				location   	(217, 1623)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B41EA02F7"
			    client     	@771
			    supplier   	@770
			    vertices   	(list Points
				(228, 1695)
				(175, 1695)
				(175, 1591))
			    line_style 	3
			    origin_attachment 	(228, 1695)
			    terminal_attachment 	(175, 1591))
			(object RoleView "resolvedElementDeclaration" @774
			    Parent_View 	@771
			    location   	(-476, -385)
			    label      	(object SegLabel @775
				Parent_View 	@774
				location   	(329, 1740)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	528
				justify    	0
				label      	"+resolvedElementDeclaration"
				pctDist    	1.924528
				height     	45
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B41EA030B"
			    client     	@771
			    supplier   	@770
			    vertices   	(list Points
				(228, 1695)
				(281, 1695)
				(281, 1591))
			    line_style 	3
			    origin_attachment 	(228, 1695)
			    terminal_attachment 	(281, 1591)
			    label      	(object SegLabel @776
				Parent_View 	@774
				location   	(229, 1646)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.005714
				height     	50
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @777
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 1536)
		    label      	(object ItemLabel
			Parent_View 	@777
			location   	(790, 1493)
			fill_color 	13434879
			nlines     	1
			max_width  	500
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    width      	518
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$90" @778
		    location   	(952, 1698)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6B42450398"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$91" @779
			    Parent_View 	@778
			    location   	(-1288, -318)
			    label      	(object SegLabel @780
				Parent_View 	@779
				location   	(860, 1623)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B4249038A"
			    client     	@778
			    supplier   	@777
			    vertices   	(list Points
				(952, 1698)
				(901, 1698)
				(901, 1591))
			    line_style 	3
			    origin_attachment 	(952, 1698)
			    terminal_attachment 	(901, 1591))
			(object RoleView "resolvedModelGroupDefinition" @781
			    Parent_View 	@778
			    location   	(-1288, -318)
			    label      	(object SegLabel @782
				Parent_View 	@781
				location   	(1020, 1739)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	564
				justify    	0
				label      	"+resolvedModelGroupDefinition"
				pctDist    	1.326923
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B4249039E"
			    client     	@778
			    supplier   	@777
			    vertices   	(list Points
				(952, 1698)
				(1004, 1698)
				(1004, 1591))
			    line_style 	3
			    origin_attachment 	(952, 1698)
			    terminal_attachment 	(1004, 1591)
			    label      	(object SegLabel @783
				Parent_View 	@781
				location   	(952, 1649)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.000000
				height     	50
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @784
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 992)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@784
			location   	(420, 949)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"XSDSchemaCompositor")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C21DB4102AE"
		    width      	490
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @785
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 784)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@785
			location   	(412, 737)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"XSDSchemaDirective")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD8A202A2"
		    width      	475
		    height     	118
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @786
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 416)
		    label      	(object ItemLabel
			Parent_View 	@786
			location   	(446, 285)
			fill_color 	13434879
			nlines     	1
			max_width  	388
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	406
		    height     	287
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$154" @787
		    location   	(1303, 679)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DD0C03DB"
		    roleview_list 	(list RoleViews
			(object RoleView "incorporatedSchema" @788
			    Parent_View 	@787
			    location   	(-41, -857)
			    label      	(object SegLabel @789
				Parent_View 	@788
				location   	(1059, 381)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+incorporatedSchema"
				pctDist    	0.700384
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DD100305"
			    client     	@787
			    supplier   	@786
			    vertices   	(list Points
				(1303, 679)
				(1303, 419)
				(843, 419))
			    line_style 	3
			    origin_attachment 	(1303, 679)
			    terminal_attachment 	(843, 419)
			    label      	(object SegLabel @790
				Parent_View 	@788
				location   	(922, 454)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.890746
				height     	35
				orientation 	0))
			(object RoleView "$UNNAMED$155" @791
			    Parent_View 	@787
			    location   	(-41, -857)
			    label      	(object SegLabel @792
				Parent_View 	@791
				location   	(1045, 956)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DD100304"
			    client     	@787
			    supplier   	@784
			    vertices   	(list Points
				(1303, 679)
				(1303, 997)
				(901, 997))
			    line_style 	3
			    origin_attachment 	(1303, 679)
			    terminal_attachment 	(901, 997))))
		(object AssociationViewNew "$UNNAMED$152" @793
		    location   	(1216, 649)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DCC700EC"
		    roleview_list 	(list RoleViews
			(object RoleView "resolvedSchema" @794
			    Parent_View 	@793
			    location   	(336, -1399)
			    label      	(object SegLabel @795
				Parent_View 	@794
				location   	(1038, 500)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	324
				justify    	0
				label      	"+resolvedSchema"
				pctDist    	0.601923
				height     	35
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DCCE0043"
			    client     	@793
			    supplier   	@786
			    vertices   	(list Points
				(1216, 649)
				(1216, 534)
				(843, 534))
			    line_style 	3
			    origin_attachment 	(1216, 649)
			    terminal_attachment 	(843, 534)
			    label      	(object SegLabel @796
				Parent_View 	@794
				location   	(926, 577)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.831643
				height     	43
				orientation 	0))
			(object RoleView "$UNNAMED$153" @797
			    Parent_View 	@793
			    location   	(336, -1399)
			    label      	(object SegLabel @798
				Parent_View 	@797
				location   	(974, 756)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C21DCCE0042"
			    client     	@793
			    supplier   	@785
			    vertices   	(list Points
				(1216, 649)
				(1216, 797)
				(877, 797))
			    line_style 	3
			    origin_attachment 	(1216, 649)
			    terminal_attachment 	(877, 797))))
		(object AssociationViewNew "$UNNAMED$158" @799
		    location   	(662, 642)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C25D3A60131"
		    roleview_list 	(list RoleViews
			(object RoleView "referencingDirectives" @800
			    Parent_View 	@799
			    location   	(-234, 114)
			    label      	(object SegLabel @801
				Parent_View 	@800
				location   	(878, 675)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+referencingDirectives"
				pctDist    	0.408759
				height     	216
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25D3A90371"
			    client     	@799
			    supplier   	@785
			    line_style 	3
			    origin_attachment 	(662, 642)
			    terminal_attachment 	(662, 725)
			    label      	(object SegLabel @802
				Parent_View 	@800
				location   	(615, 678)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.430657
				height     	48
				orientation 	1))
			(object RoleView "$UNNAMED$159" @803
			    Parent_View 	@799
			    location   	(-234, 114)
			    label      	(object SegLabel @804
				Parent_View 	@803
				location   	(621, 576)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25D3A90370"
			    client     	@799
			    supplier   	@786
			    line_style 	3
			    origin_attachment 	(662, 642)
			    terminal_attachment 	(662, 559))))
		(object AssociationViewNew "$UNNAMED$160" @805
		    location   	(75, 188)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C25ECF0005E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$161" @806
			    Parent_View 	@805
			    location   	(-853, -308)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25ECF4001E"
			    client     	@805
			    supplier   	@786
			    vertices   	(list Points
				(75, 188)
				(75, 128)
				(510, 128)
				(510, 273))
			    line_style 	3
			    origin_attachment 	(75, 188)
			    terminal_attachment 	(510, 273))
			(object RoleView "rootVersion" @807
			    Parent_View 	@805
			    location   	(-853, -308)
			    label      	(object SegLabel @808
				Parent_View 	@807
				location   	(176, 74)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+rootVersion"
				pctDist    	-0.593750
				height     	101
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25ECF40028"
			    client     	@805
			    supplier   	@786
			    vertices   	(list Points
				(75, 188)
				(75, 380)
				(437, 380))
			    line_style 	3
			    origin_attachment 	(75, 188)
			    terminal_attachment 	(437, 380)
			    label      	(object SegLabel @809
				Parent_View 	@807
				location   	(368, 328)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.874755
				height     	53
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$162" @810
		    location   	(1262, 134)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C25ED0B011B"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$163" @811
			    Parent_View 	@810
			    location   	(334, -362)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25ED0F0121"
			    client     	@810
			    supplier   	@786
			    vertices   	(list Points
				(1262, 134)
				(766, 134)
				(766, 273))
			    line_style 	3
			    origin_attachment 	(1262, 134)
			    terminal_attachment 	(766, 273))
			(object RoleView "originalVersion" @812
			    Parent_View 	@810
			    location   	(334, -362)
			    label      	(object SegLabel @813
				Parent_View 	@812
				location   	(1164, 97)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+originalVersion"
				pctDist    	-1.650000
				height     	38
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25ED0F012B"
			    client     	@810
			    supplier   	@786
			    vertices   	(list Points
				(1262, 134)
				(1322, 134)
				(1322, 334)
				(843, 334))
			    line_style 	3
			    origin_attachment 	(1262, 134)
			    terminal_attachment 	(843, 334)
			    label      	(object SegLabel @814
				Parent_View 	@812
				location   	(919, 279)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.898108
				height     	56
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$164" @815
		    location   	(126, 656)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C25EEAB001F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$165" @816
			    Parent_View 	@815
			    location   	(-834, 160)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25EEAF010B"
			    client     	@815
			    supplier   	@786
			    vertices   	(list Points
				(126, 656)
				(513, 656)
				(513, 559))
			    line_style 	3
			    origin_attachment 	(126, 656)
			    terminal_attachment 	(513, 559))
			(object RoleView "incorporatedVersions" @817
			    Parent_View 	@815
			    location   	(-834, 160)
			    label      	(object SegLabel @818
				Parent_View 	@817
				location   	(217, 431)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	408
				justify    	0
				label      	"+incorporatedVersions"
				pctDist    	0.643902
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C25EEAF0115"
			    client     	@815
			    supplier   	@786
			    vertices   	(list Points
				(126, 656)
				(66, 656)
				(66, 472)
				(437, 472))
			    line_style 	3
			    origin_attachment 	(126, 656)
			    terminal_attachment 	(437, 472)
			    label      	(object SegLabel @819
				Parent_View 	@817
				location   	(356, 526)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.868468
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$168" @820
		    location   	(642, 126)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C2784730194"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$169" @821
			    Parent_View 	@820
			    location   	(82, -418)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C27847501F1"
			    client     	@820
			    supplier   	@786
			    vertices   	(list Points
				(642, 126)
				(588, 126)
				(588, 273))
			    line_style 	3
			    origin_attachment 	(642, 126)
			    terminal_attachment 	(588, 273))
			(object RoleView "schemaForSchema" @822
			    Parent_View 	@820
			    location   	(82, -418)
			    label      	(object SegLabel @823
				Parent_View 	@822
				location   	(639, 74)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	384
				justify    	0
				label      	"+schemaForSchema"
				pctDist    	-0.055556
				height     	53
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C27847501FB"
			    client     	@820
			    supplier   	@786
			    vertices   	(list Points
				(642, 126)
				(697, 126)
				(697, 273))
			    line_style 	3
			    origin_attachment 	(642, 126)
			    terminal_attachment 	(697, 273)
			    label      	(object SegLabel @824
				Parent_View 	@822
				location   	(643, 213)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.701863
				height     	55
				orientation 	1))))
		(object InheritView "" @825
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C21DB560092"
		    client     	@784
		    supplier   	@785
		    line_style 	3
		    origin_attachment 	(638, 937)
		    terminal_attachment 	(638, 843))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @826
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 1184)
		    label      	(object ItemLabel
			Parent_View 	@826
			location   	(67, 1141)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	492
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$8" @827
		    location   	(234, 1340)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6B426B0194"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$9" @828
			    Parent_View 	@827
			    location   	(-310, -4)
			    label      	(object SegLabel @829
				Parent_View 	@828
				location   	(140, 1271)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B426D0309"
			    client     	@827
			    supplier   	@826
			    vertices   	(list Points
				(234, 1340)
				(181, 1340)
				(181, 1239))
			    line_style 	3
			    origin_attachment 	(234, 1340)
			    terminal_attachment 	(181, 1239))
			(object RoleView "resolvedAttributeDeclaration" @830
			    Parent_View 	@827
			    location   	(-310, -4)
			    label      	(object SegLabel @831
				Parent_View 	@830
				location   	(333, 1389)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	528
				justify    	0
				label      	"+resolvedAttributeDeclaration"
				pctDist    	1.867925
				height     	49
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B426D0313"
			    client     	@827
			    supplier   	@826
			    vertices   	(list Points
				(234, 1340)
				(287, 1340)
				(287, 1239))
			    line_style 	3
			    origin_attachment 	(234, 1340)
			    terminal_attachment 	(287, 1239)
			    label      	(object SegLabel @832
				Parent_View 	@830
				location   	(241, 1295)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.042945
				height     	46
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @833
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1760, 144)
		    label      	(object ItemLabel
			Parent_View 	@833
			location   	(1517, 101)
			fill_color 	13434879
			nlines     	1
			max_width  	486
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    width      	504
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFacet" @834
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 416)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@834
			location   	(1599, 373)
			fill_color 	13434879
			nlines     	1
			max_width  	226
			justify    	0
			label      	"XSDFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C359403D2"
		    width      	244
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$242" @835
		    location   	(1668, 280)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D4BB4AE01CC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$243" @836
			    Parent_View 	@835
			    location   	(8, -152)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4AF010F"
			    client     	@835
			    supplier   	@833
			    line_style 	3
			    origin_attachment 	(1668, 280)
			    terminal_attachment 	(1668, 199))
			(object RoleView "syntheticFacets" @837
			    Parent_View 	@835
			    location   	(8, -152)
			    label      	(object SegLabel @838
				Parent_View 	@837
				location   	(1852, 300)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	324
				justify    	0
				label      	"+syntheticFacets"
				pctDist    	0.246154
				height     	184
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4AF011A"
			    client     	@835
			    supplier   	@834
			    line_style 	3
			    origin_attachment 	(1668, 280)
			    terminal_attachment 	(1668, 361)
			    label      	(object SegLabel @839
				Parent_View 	@837
				location   	(1625, 301)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.276923
				height     	44
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @840
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 944)
		    label      	(object ItemLabel
			Parent_View 	@840
			location   	(1426, 901)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	270
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @841
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1776, 640)
		    label      	(object ItemLabel
			Parent_View 	@841
			location   	(1515, 597)
			fill_color 	13434879
			nlines     	1
			max_width  	522
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	540
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$244" @842
		    location   	(1508, 792)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D4BB4D3028E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$245" @843
			    Parent_View 	@842
			    location   	(-12, -280)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4D402F3"
			    client     	@842
			    supplier   	@841
			    line_style 	3
			    origin_attachment 	(1508, 792)
			    terminal_attachment 	(1508, 695))
			(object RoleView "syntheticParticle" @844
			    Parent_View 	@842
			    location   	(-12, -280)
			    label      	(object SegLabel @845
				Parent_View 	@844
				location   	(1695, 767)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+syntheticParticle"
				pctDist    	-0.259259
				height     	187
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4D402FD"
			    client     	@842
			    supplier   	@840
			    line_style 	3
			    origin_attachment 	(1508, 792)
			    terminal_attachment 	(1508, 889)
			    label      	(object SegLabel @846
				Parent_View 	@844
				location   	(1454, 829)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.395062
				height     	55
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @847
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1024, 1184)
		    label      	(object ItemLabel
			Parent_View 	@847
			location   	(756, 1141)
			fill_color 	13434879
			nlines     	1
			max_width  	536
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    width      	554
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$20" @848
		    location   	(919, 1349)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B6B425E01F9"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$21" @849
			    Parent_View 	@848
			    location   	(-233, -59)
			    label      	(object SegLabel @850
				Parent_View 	@849
				location   	(825, 1273)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B42620046"
			    client     	@848
			    supplier   	@847
			    vertices   	(list Points
				(919, 1349)
				(866, 1349)
				(866, 1239))
			    line_style 	3
			    origin_attachment 	(919, 1349)
			    terminal_attachment 	(866, 1239))
			(object RoleView "resolvedAttributeGroupDefinition" @851
			    Parent_View 	@848
			    location   	(-233, -59)
			    label      	(object SegLabel @852
				Parent_View 	@851
				location   	(993, 1393)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	600
				justify    	0
				label      	"+resolvedAttributeGroupDefinition"
				pctDist    	1.377358
				height     	44
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B6B42620050"
			    client     	@848
			    supplier   	@847
			    vertices   	(list Points
				(919, 1349)
				(973, 1349)
				(973, 1239))
			    line_style 	3
			    origin_attachment 	(919, 1349)
			    terminal_attachment 	(973, 1239)
			    label      	(object SegLabel @853
				Parent_View 	@851
				location   	(919, 1296)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.014925
				height     	54
				orientation 	0))))
		(object ClassView "Class" "Logical View::xsd::XSDWildcard" @854
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1952, 944)
		    label      	(object ItemLabel
			Parent_View 	@854
			location   	(1816, 901)
			fill_color 	13434879
			nlines     	1
			max_width  	272
			justify    	0
			label      	"XSDWildcard")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6838370031"
		    width      	290
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$246" @855
		    location   	(2025, 792)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D4BB4D901F6"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$247" @856
			    Parent_View 	@855
			    location   	(153, -280)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4DA0284"
			    client     	@855
			    supplier   	@841
			    line_style 	3
			    origin_attachment 	(2025, 792)
			    terminal_attachment 	(2025, 695))
			(object RoleView "syntheticWildcard" @857
			    Parent_View 	@855
			    location   	(153, -280)
			    label      	(object SegLabel @858
				Parent_View 	@857
				location   	(1826, 838)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+syntheticWildcard"
				pctDist    	0.488095
				height     	200
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4BB4DA028E"
			    client     	@855
			    supplier   	@854
			    line_style 	3
			    origin_attachment 	(2025, 792)
			    terminal_attachment 	(2025, 889)
			    label      	(object SegLabel @859
				Parent_View 	@857
				location   	(2098, 840)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.506173
				height     	73
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$248" @860
		    location   	(1754, 1178)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D4C68FF01BF"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$249" @861
			    Parent_View 	@860
			    location   	(-198, 234)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4C69020317"
			    client     	@860
			    supplier   	@847
			    line_style 	3
			    origin_attachment 	(1754, 1178)
			    terminal_attachment 	(1301, 1178))
			(object RoleView "syntheticWildcard" @862
			    Parent_View 	@860
			    location   	(-198, 234)
			    label      	(object SegLabel @863
				Parent_View 	@862
				location   	(1828, 1261)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+syntheticWildcard"
				pctDist    	0.163355
				height     	83
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D4C69020318"
			    client     	@860
			    supplier   	@854
			    vertices   	(list Points
				(1754, 1178)
				(2028, 1178)
				(2028, 999))
			    line_style 	3
			    origin_attachment 	(1754, 1178)
			    terminal_attachment 	(2028, 999)
			    label      	(object SegLabel @864
				Parent_View 	@862
				location   	(2082, 1098)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.783664
				height     	54
				orientation 	1))))))
	(object ClassDiagram "10. Diagnostics"
	    quid       	"3BFE5F0803E2"
	    title      	"10. Diagnostics"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::DOMNode" @865
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(400, 1024)
		    label      	(object ItemLabel
			Parent_View 	@865
			location   	(66, 990)
			fill_color 	13434879
			nlines     	1
			max_width  	668
			justify    	0
			label      	"DOMNode")
		    stereotype 	(object ItemLabel
			Parent_View 	@865
			location   	(66, 940)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	668
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	14671839
		    quidu      	"3BFE64A50117"
		    width      	686
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDDiagnosticSeverity" @866
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 656)
		    label      	(object ItemLabel
			Parent_View 	@866
			location   	(818, 547)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"XSDDiagnosticSeverity")
		    stereotype 	(object ItemLabel
			Parent_View 	@866
			location   	(818, 497)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	444
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8432127
		    quidu      	"3BFE68A7032F"
		    width      	462
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @867
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 112)
		    label      	(object ItemLabel
			Parent_View 	@867
			location   	(59, 60)
			fill_color 	13434879
			nlines     	1
			max_width  	266
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	284
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @868
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(896, 112)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@868
			location   	(540, 62)
			fill_color 	13434879
			nlines     	1
			max_width  	713
			justify    	0
			label      	"XSDConcreteComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD7B40065"
		    width      	731
		    height     	125
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @869
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 608)
		    label      	(object ItemLabel
			Parent_View 	@869
			location   	(64, 352)
			fill_color 	13434879
			nlines     	1
			max_width  	640
			justify    	0
			label      	"XSDDiagnostic")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BFE5F910046"
		    width      	658
		    height     	536
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$150" @870
		    location   	(144, 258)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BFE6431035F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$151" @871
			    Parent_View 	@870
			    location   	(-1088, -686)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE643201C6"
			    client     	@870
			    supplier   	@867
			    line_style 	3
			    origin_attachment 	(144, 258)
			    terminal_attachment 	(144, 176))
			(object RoleView "allDiagnostics" @872
			    Parent_View 	@870
			    location   	(-1088, -686)
			    label      	(object SegLabel @873
				Parent_View 	@872
				location   	(309, 294)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+allDiagnostics"
				pctDist    	0.448598
				height     	165
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE643201C7"
			    client     	@870
			    supplier   	@869
			    line_style 	3
			    origin_attachment 	(144, 258)
			    terminal_attachment 	(144, 340)
			    label      	(object SegLabel @874
				Parent_View 	@872
				location   	(96, 291)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.420561
				height     	49
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$146" @875
		    location   	(1028, 440)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BFE622703CD"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$147" @876
			    Parent_View 	@875
			    location   	(-396, -72)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE622B0061"
			    client     	@875
			    supplier   	@869
			    line_style 	3
			    origin_attachment 	(1028, 440)
			    terminal_attachment 	(713, 440))
			(object RoleView "components" @877
			    Parent_View 	@875
			    location   	(-396, -72)
			    label      	(object SegLabel @878
				Parent_View 	@877
				location   	(938, 230)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	252
				justify    	0
				label      	"+components"
				pctDist    	0.829181
				height     	151
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE622B006C"
			    client     	@875
			    supplier   	@868
			    vertices   	(list Points
				(1028, 440)
				(1088, 440)
				(1088, 174))
			    line_style 	3
			    origin_attachment 	(1028, 440)
			    terminal_attachment 	(1088, 174)
			    label      	(object SegLabel @879
				Parent_View 	@877
				location   	(1143, 232)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"1..*"
				pctDist    	0.823848
				height     	55
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$148" @880
		    location   	(688, 257)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BFE62690165"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$149" @881
			    Parent_View 	@880
			    location   	(160, -303)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE626A0026"
			    client     	@880
			    supplier   	@868
			    line_style 	3
			    origin_attachment 	(688, 257)
			    terminal_attachment 	(688, 174))
			(object RoleView "diagnostics" @882
			    Parent_View 	@880
			    location   	(160, -303)
			    label      	(object SegLabel @883
				Parent_View 	@882
				location   	(822, 294)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+diagnostics"
				pctDist    	0.452632
				height     	134
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BFE626A0027"
			    client     	@880
			    supplier   	@869
			    line_style 	3
			    origin_attachment 	(688, 257)
			    terminal_attachment 	(688, 340)
			    label      	(object SegLabel @884
				Parent_View 	@882
				location   	(645, 298)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.494737
				height     	44
				orientation 	1))))
		(object InheritView "" @885
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D4C0F4C01A1"
		    client     	@869
		    supplier   	@868
		    line_style 	3
		    origin_attachment 	(575, 340)
		    terminal_attachment 	(575, 174))))
	(object ClassDiagram "11. Supplemental"
	    quid       	"3C287E49019B"
	    title      	"11. Supplemental"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @886
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(464, 816)
		    label      	(object ItemLabel
			Parent_View 	@886
			location   	(47, 760)
			fill_color 	13434879
			nlines     	1
			max_width  	834
			justify    	0
			label      	"XSDAttributeGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED840290"
		    compartment 	(object Compartment
			Parent_View 	@886
			location   	(47, 820)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	0)
		    width      	852
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @887
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2112, 880)
		    label      	(object ItemLabel
			Parent_View 	@887
			location   	(1731, 824)
			fill_color 	13434879
			nlines     	1
			max_width  	762
			justify    	0
			label      	"XSDAttributeDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED2E0192"
		    width      	780
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @888
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(288, 112)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@888
			location   	(48, 60)
			fill_color 	13434879
			nlines     	1
			max_width  	480
			justify    	0
			label      	"XSDConcreteComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6AD7B40065"
		    width      	498
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @889
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2384, 112)
		    label      	(object ItemLabel
			Parent_View 	@889
			location   	(2236, 60)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"XSDDiagnostic")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BFE5F910046"
		    width      	314
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$172" @890
		    location   	(1382, 84)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C2882C50137"
		    roleview_list 	(list RoleViews
			(object RoleView "primaryComponent" @891
			    Parent_View 	@890
			    location   	(-250, -508)
			    label      	(object SegLabel @892
				Parent_View 	@891
				location   	(756, 116)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+primaryComponent"
				pctDist    	0.740828
				height     	32
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C2882C70113"
			    client     	@890
			    supplier   	@888
			    line_style 	3
			    origin_attachment 	(1382, 84)
			    terminal_attachment 	(537, 84)
			    label      	(object SegLabel @893
				Parent_View 	@891
				location   	(624, 55)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.897260
				height     	30
				orientation 	1))
			(object RoleView "$UNNAMED$173" @894
			    Parent_View 	@890
			    location   	(-250, -508)
			    label      	(object SegLabel @895
				Parent_View 	@894
				location   	(2058, 126)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C2882C70112"
			    client     	@890
			    supplier   	@889
			    line_style 	3
			    origin_attachment 	(1382, 84)
			    terminal_attachment 	(2227, 84))))
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @896
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2160, 688)
		    label      	(object ItemLabel
			Parent_View 	@896
			location   	(1778, 607)
			fill_color 	13434879
			nlines     	1
			max_width  	764
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    compartment 	(object Compartment
			Parent_View 	@896
			location   	(1778, 667)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ elementDeclarationReference : boolean"
			    "+ circular : boolean"))
		    width      	782
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFacet" @897
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 1072)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@897
			location   	(2100, 991)
			fill_color 	13434879
			nlines     	1
			max_width  	440
			justify    	0
			label      	"XSDFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6C359403D2"
		    compartment 	(object Compartment
			Parent_View 	@897
			location   	(2100, 1051)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ facetName : String"
			    "+ effectiveValue : Value"))
		    width      	458
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @898
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 624)
		    label      	(object ItemLabel
			Parent_View 	@898
			location   	(47, 568)
			fill_color 	13434879
			nlines     	1
			max_width  	802
			justify    	0
			label      	"XSDModelGroupDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED9A0205"
		    compartment 	(object Compartment
			Parent_View 	@898
			location   	(47, 628)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	1
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ modelGroupDefinitionReference : boolean"))
		    width      	820
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @899
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1232, 288)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@899
			location   	(1005, 157)
			fill_color 	13434879
			nlines     	1
			max_width  	454
			justify    	0
			label      	"XSDNamedComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B6846D303A4"
		    compartment 	(object Compartment
			Parent_View 	@899
			location   	(1005, 217)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	4
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ aliasName : String"
			    "+ uRI : String"
			    "+ aliasURI : String"
			    "+ qName : String"))
		    width      	472
		    height     	286
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @900
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(320, 352)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@900
			location   	(48, 296)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"XSDRedefinableComponent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B7FCA8B020B"
		    width      	562
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @901
		    location   	(320, 510)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@900
		    vertices   	(list Points
			(320, 510)
			(320, 420)))
		(object InheritView "" @902
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC40090"
		    client     	@898
		    supplier   	@900
		    line_style 	3
		    origin_attachment 	(81, 556)
		    terminal_attachment 	(81, 510)
		    drawSupplier 	@901)
		(object InheritView "" @903
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAC800D2"
		    client     	@886
		    supplier   	@900
		    line_style 	3
		    origin_attachment 	(877, 748)
		    terminal_attachment 	(877, 510)
		    drawSupplier 	@901)
		(object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @904
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 1808)
		    label      	(object ItemLabel
			Parent_View 	@904
			location   	(2101, 1761)
			fill_color 	13434879
			nlines     	1
			max_width  	438
			justify    	0
			label      	"XSDMaxInclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C787D00DA"
		    width      	456
		    height     	119
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @905
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 1776)
		    label      	(object ItemLabel
			Parent_View 	@905
			location   	(35, 1729)
			fill_color 	13434879
			nlines     	1
			max_width  	475
			justify    	0
			label      	"XSDMinInclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C788702C9"
		    width      	493
		    height     	119
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @906
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 1936)
		    label      	(object ItemLabel
			Parent_View 	@906
			location   	(35, 1889)
			fill_color 	13434879
			nlines     	1
			max_width  	475
			justify    	0
			label      	"XSDMinExclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C792D000A"
		    width      	493
		    height     	118
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @907
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2304, 1968)
		    label      	(object ItemLabel
			Parent_View 	@907
			location   	(2073, 1917)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"XSDMaxExclusiveFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C789600C2"
		    width      	480
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @908
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2336, 1424)
		    label      	(object ItemLabel
			Parent_View 	@908
			location   	(2134, 1372)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"XSDCardinalityFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C755D03D2"
		    width      	422
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @909
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2352, 1264)
		    label      	(object ItemLabel
			Parent_View 	@909
			location   	(2163, 1212)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"XSDBoundedFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C751D0344"
		    width      	396
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @910
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(224, 1392)
		    label      	(object ItemLabel
			Parent_View 	@910
			location   	(43, 1340)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"XSDOrderedFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C74DD0248"
		    width      	380
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @911
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 1232)
		    label      	(object ItemLabel
			Parent_View 	@911
			location   	(49, 1178)
			fill_color 	13434879
			nlines     	1
			max_width  	382
			justify    	0
			label      	"XSDNumericFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C75950206"
		    width      	400
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @912
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2336, 1616)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@912
			location   	(2135, 1535)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"XSDMaxFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C0A1CEB010E"
		    compartment 	(object Compartment
			Parent_View 	@912
			location   	(2135, 1595)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ inclusive : boolean"
			    "+ exclusive : boolean"))
		    width      	420
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @913
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 2288)
		    label      	(object ItemLabel
			Parent_View 	@913
			location   	(2102, 2236)
			fill_color 	13434879
			nlines     	1
			max_width  	436
			justify    	0
			label      	"XSDWhiteSpaceFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C784601B7"
		    width      	454
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @914
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2304, 2624)
		    label      	(object ItemLabel
			Parent_View 	@914
			location   	(2074, 2572)
			fill_color 	13434879
			nlines     	1
			max_width  	460
			justify    	0
			label      	"XSDFractionDigitsFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C79BE02EE"
		    width      	478
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @915
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2368, 2128)
		    label      	(object ItemLabel
			Parent_View 	@915
			location   	(2196, 2076)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"XSDPatternFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C6ADB026C"
		    width      	362
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @916
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(256, 2096)
		    label      	(object ItemLabel
			Parent_View 	@916
			location   	(36, 2044)
			fill_color 	13434879
			nlines     	1
			max_width  	440
			justify    	0
			label      	"XSDEnumerationFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C6ACE0141"
		    width      	458
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @917
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 2272)
		    label      	(object ItemLabel
			Parent_View 	@917
			location   	(38, 2220)
			fill_color 	13434879
			nlines     	1
			max_width  	340
			justify    	0
			label      	"XSDLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C776200E7"
		    width      	358
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinFacet" @918
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 1584)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@918
			location   	(38, 1503)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"XSDMinFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3C0A1CDE037C"
		    compartment 	(object Compartment
			Parent_View 	@918
			location   	(38, 1563)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ inclusive : boolean"
			    "+ exclusive : boolean"))
		    width      	422
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @919
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 2464)
		    label      	(object ItemLabel
			Parent_View 	@919
			location   	(2111, 2412)
			fill_color 	13434879
			nlines     	1
			max_width  	418
			justify    	0
			label      	"XSDMaxLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C77C70146"
		    width      	436
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @920
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 2448)
		    label      	(object ItemLabel
			Parent_View 	@920
			location   	(39, 2396)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"XSDMinLengthFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C778C0065"
		    width      	420
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @921
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 2608)
		    label      	(object ItemLabel
			Parent_View 	@921
			location   	(38, 2556)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"XSDTotalDigitsFacet")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B6C79A0020E"
		    width      	422
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @922
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(928, 1152)
		    label      	(object ItemLabel
			Parent_View 	@922
			location   	(667, 1100)
			fill_color 	13434879
			nlines     	1
			max_width  	522
			justify    	0
			label      	"XSDComplexTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682B82031A"
		    width      	540
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDParticle" @923
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(176, 1072)
		    label      	(object ItemLabel
			Parent_View 	@923
			location   	(50, 1020)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"XSDParticle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BBD01F7"
		    width      	270
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @924
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1232, 1360)
		    label      	(object ItemLabel
			Parent_View 	@924
			location   	(944, 1304)
			fill_color 	13434879
			nlines     	1
			max_width  	576
			justify    	0
			label      	"XSDSimpleTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B682BA7005D"
		    compartment 	(object Compartment
			Parent_View 	@924
			location   	(944, 1364)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	0
			compartmentItems 	(list Compartment
			    "<<0..*>> + validFacets : String"))
		    width      	594
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$184" @925
		    location   	(1446, 1218)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A994030A"
		    roleview_list 	(list RoleViews
			(object RoleView "rootTypeDefinition" @926
			    Parent_View 	@925
			    location   	(582, -78)
			    label      	(object SegLabel @927
				Parent_View 	@926
				location   	(1580, 1173)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+rootTypeDefinition"
				pctDist    	3.268293
				height     	46
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A99700DD"
			    client     	@925
			    supplier   	@924
			    vertices   	(list Points
				(1446, 1218)
				(1487, 1218)
				(1487, 1292))
			    line_style 	3
			    origin_attachment 	(1446, 1218)
			    terminal_attachment 	(1487, 1292)
			    label      	(object SegLabel @928
				Parent_View 	@926
				location   	(1439, 1257)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.184211
				height     	39
				orientation 	1))
			(object RoleView "$UNNAMED$185" @929
			    Parent_View 	@925
			    location   	(582, -78)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A99700E7"
			    client     	@925
			    supplier   	@924
			    vertices   	(list Points
				(1446, 1218)
				(1405, 1218)
				(1405, 1292))
			    line_style 	3
			    origin_attachment 	(1446, 1218)
			    terminal_attachment 	(1405, 1292))))
		(object AssociationViewNew "$UNNAMED$188" @930
		    location   	(1733, 1575)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B08D0252"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$189" @931
			    Parent_View 	@930
			    location   	(917, 7)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B08E0091"
			    client     	@930
			    supplier   	@924
			    vertices   	(list Points
				(1733, 1575)
				(1487, 1575)
				(1487, 1428))
			    line_style 	3
			    origin_attachment 	(1733, 1575)
			    terminal_attachment 	(1487, 1428))
			(object RoleView "maxFacet" @932
			    Parent_View 	@930
			    location   	(917, 7)
			    label      	(object SegLabel @933
				Parent_View 	@932
				location   	(1751, 1541)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+maxFacet"
				pctDist    	0.046243
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B08E009B"
			    client     	@930
			    supplier   	@912
			    line_style 	3
			    origin_attachment 	(1733, 1575)
			    terminal_attachment 	(2126, 1575)
			    label      	(object SegLabel @934
				Parent_View 	@932
				location   	(2042, 1536)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.789157
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$190" @935
		    location   	(1587, 1793)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0AB0396"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$191" @936
			    Parent_View 	@935
			    location   	(707, -31)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0AC03C9"
			    client     	@935
			    supplier   	@924
			    vertices   	(list Points
				(1587, 1793)
				(1447, 1793)
				(1447, 1428))
			    line_style 	3
			    origin_attachment 	(1587, 1793)
			    terminal_attachment 	(1447, 1428))
			(object RoleView "maxInclusiveFacet" @937
			    Parent_View 	@935
			    location   	(707, -31)
			    label      	(object SegLabel @938
				Parent_View 	@937
				location   	(1737, 1751)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+maxInclusiveFacet"
				pctDist    	0.298441
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0AC03D4"
			    client     	@935
			    supplier   	@904
			    line_style 	3
			    origin_attachment 	(1587, 1793)
			    terminal_attachment 	(2092, 1793)
			    label      	(object SegLabel @939
				Parent_View 	@937
				location   	(2020, 1754)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.859155
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$192" @940
		    location   	(937, 1787)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0AF0338"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$193" @941
			    Parent_View 	@940
			    location   	(617, -5)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B001F9"
			    client     	@940
			    supplier   	@924
			    vertices   	(list Points
				(937, 1787)
				(997, 1787)
				(997, 1428))
			    line_style 	3
			    origin_attachment 	(937, 1787)
			    terminal_attachment 	(997, 1428))
			(object RoleView "minInclusiveFacet" @942
			    Parent_View 	@940
			    location   	(617, -5)
			    label      	(object SegLabel @943
				Parent_View 	@942
				location   	(792, 1745)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+minInclusiveFacet"
				pctDist    	0.346062
				height     	43
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B00203"
			    client     	@940
			    supplier   	@905
			    line_style 	3
			    origin_attachment 	(937, 1787)
			    terminal_attachment 	(518, 1787)
			    label      	(object SegLabel @944
				Parent_View 	@942
				location   	(575, 1743)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.863962
				height     	45
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$194" @945
		    location   	(981, 1937)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0B30207"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$195" @946
			    Parent_View 	@945
			    location   	(677, -79)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B40190"
			    client     	@945
			    supplier   	@924
			    vertices   	(list Points
				(981, 1937)
				(1041, 1937)
				(1041, 1428))
			    line_style 	3
			    origin_attachment 	(981, 1937)
			    terminal_attachment 	(1041, 1428))
			(object RoleView "minExclusiveFacet" @947
			    Parent_View 	@945
			    location   	(677, -79)
			    label      	(object SegLabel @948
				Parent_View 	@947
				location   	(823, 1900)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+minExclusiveFacet"
				pctDist    	0.341253
				height     	38
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B4019A"
			    client     	@945
			    supplier   	@906
			    line_style 	3
			    origin_attachment 	(981, 1937)
			    terminal_attachment 	(518, 1937)
			    label      	(object SegLabel @949
				Parent_View 	@947
				location   	(589, 1897)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.846652
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$196" @950
		    location   	(1469, 1953)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0B6028D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$197" @951
			    Parent_View 	@950
			    location   	(621, -95)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B70217"
			    client     	@950
			    supplier   	@924
			    vertices   	(list Points
				(1469, 1953)
				(1400, 1953)
				(1400, 1428))
			    line_style 	3
			    origin_attachment 	(1469, 1953)
			    terminal_attachment 	(1400, 1428))
			(object RoleView "maxExclusiveFacet" @952
			    Parent_View 	@950
			    location   	(621, -95)
			    label      	(object SegLabel @953
				Parent_View 	@952
				location   	(1646, 1913)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	384
				justify    	0
				label      	"+maxExclusiveFacet"
				pctDist    	0.298097
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0B70221"
			    client     	@950
			    supplier   	@907
			    line_style 	3
			    origin_attachment 	(1469, 1953)
			    terminal_attachment 	(2064, 1953)
			    label      	(object SegLabel @954
				Parent_View 	@952
				location   	(1961, 1913)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.827236
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$198" @955
		    location   	(1122, 2180)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0BC0051"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$199" @956
			    Parent_View 	@955
			    location   	(-318, 628)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0BC0246"
			    client     	@955
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1122, 2180)
			    terminal_attachment 	(1122, 1428))
			(object RoleView "lengthFacet" @957
			    Parent_View 	@955
			    location   	(-318, 628)
			    label      	(object SegLabel @958
				Parent_View 	@957
				location   	(804, 2204)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+lengthFacet"
				pctDist    	0.475472
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0BC0250"
			    client     	@955
			    supplier   	@917
			    vertices   	(list Points
				(1122, 2180)
				(1122, 2240)
				(387, 2240))
			    line_style 	3
			    origin_attachment 	(1122, 2180)
			    terminal_attachment 	(387, 2240)
			    label      	(object SegLabel @959
				Parent_View 	@957
				location   	(471, 2204)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.895597
				height     	37
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$202" @960
		    location   	(1084, 1989)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0C2021D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$203" @961
			    Parent_View 	@960
			    location   	(-1380, 437)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C300AB"
			    client     	@960
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1084, 1989)
			    terminal_attachment 	(1084, 1428))
			(object RoleView "enumerationFacets" @962
			    Parent_View 	@960
			    location   	(-1380, 437)
			    label      	(object SegLabel @963
				Parent_View 	@962
				location   	(837, 2016)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+enumerationFacets"
				pctDist    	0.465857
				height     	34
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C300AC"
			    client     	@960
			    supplier   	@916
			    vertices   	(list Points
				(1084, 1989)
				(1084, 2049)
				(485, 2049))
			    line_style 	3
			    origin_attachment 	(1084, 1989)
			    terminal_attachment 	(485, 2049)
			    label      	(object SegLabel @964
				Parent_View 	@962
				location   	(583, 2021)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.851290
				height     	29
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$204" @965
		    location   	(1451, 2074)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0C50159"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$205" @966
			    Parent_View 	@965
			    location   	(-1525, 538)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C600B0"
			    client     	@965
			    supplier   	@924
			    vertices   	(list Points
				(1451, 2074)
				(1362, 2074)
				(1362, 1428))
			    line_style 	3
			    origin_attachment 	(1451, 2074)
			    terminal_attachment 	(1362, 1428))
			(object RoleView "patternFacets" @967
			    Parent_View 	@965
			    location   	(-1525, 538)
			    label      	(object SegLabel @968
				Parent_View 	@967
				location   	(1720, 2038)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+patternFacets"
				pctDist    	0.367223
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C600BA"
			    client     	@965
			    supplier   	@915
			    line_style 	3
			    origin_attachment 	(1451, 2074)
			    terminal_attachment 	(2187, 2074)
			    label      	(object SegLabel @969
				Parent_View 	@967
				location   	(1972, 2035)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.708649
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$206" @970
		    location   	(1827, 1400)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0C802A7"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$207" @971
			    Parent_View 	@970
			    location   	(-1149, -472)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C901EA"
			    client     	@970
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1827, 1400)
			    terminal_attachment 	(1529, 1400))
			(object RoleView "cardinalityFacet" @972
			    Parent_View 	@970
			    location   	(-1149, -472)
			    label      	(object SegLabel @973
				Parent_View 	@972
				location   	(1847, 1358)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+cardinalityFacet"
				pctDist    	0.071730
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C901F5"
			    client     	@970
			    supplier   	@908
			    line_style 	3
			    origin_attachment 	(1827, 1400)
			    terminal_attachment 	(2125, 1400)
			    label      	(object SegLabel @974
				Parent_View 	@972
				location   	(2083, 1357)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.863426
				height     	44
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$216" @975
		    location   	(1262, 2413)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0DB0377"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$217" @976
			    Parent_View 	@975
			    location   	(-786, 301)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0DC035A"
			    client     	@975
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1262, 2413)
			    terminal_attachment 	(1262, 1428))
			(object RoleView "fractionDigitsFacet" @977
			    Parent_View 	@975
			    location   	(-786, 301)
			    label      	(object SegLabel @978
				Parent_View 	@977
				location   	(1608, 2556)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+fractionDigitsFacet"
				pctDist    	0.537393
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0DC0364"
			    client     	@975
			    supplier   	@914
			    vertices   	(list Points
				(1262, 2413)
				(1262, 2596)
				(2065, 2596))
			    line_style 	3
			    origin_attachment 	(1262, 2413)
			    terminal_attachment 	(2065, 2596)
			    label      	(object SegLabel @979
				Parent_View 	@977
				location   	(1979, 2556)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.913886
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$220" @980
		    location   	(1841, 1306)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0E300D9"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$221" @981
			    Parent_View 	@980
			    location   	(-1135, -790)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0E4038E"
			    client     	@980
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1841, 1306)
			    terminal_attachment 	(1529, 1306))
			(object RoleView "boundedFacet" @982
			    Parent_View 	@980
			    location   	(-1135, -790)
			    label      	(object SegLabel @983
				Parent_View 	@982
				location   	(1832, 1270)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+boundedFacet"
				pctDist    	-0.031746
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0E40398"
			    client     	@980
			    supplier   	@909
			    line_style 	3
			    origin_attachment 	(1841, 1306)
			    terminal_attachment 	(2154, 1306)
			    label      	(object SegLabel @984
				Parent_View 	@982
				location   	(2077, 1275)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.754717
				height     	32
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$200" @985
		    location   	(1328, 2186)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0BF018C"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$201" @986
			    Parent_View 	@985
			    location   	(-640, 634)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C0006B"
			    client     	@985
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1328, 2186)
			    terminal_attachment 	(1328, 1428))
			(object RoleView "whiteSpaceFacet" @987
			    Parent_View 	@985
			    location   	(-640, 634)
			    label      	(object SegLabel @988
				Parent_View 	@987
				location   	(1673, 2207)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+whiteSpaceFacet"
				pctDist    	0.490909
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0C00075"
			    client     	@985
			    supplier   	@913
			    vertices   	(list Points
				(1328, 2186)
				(1328, 2246)
				(2093, 2246))
			    line_style 	3
			    origin_attachment 	(1328, 2186)
			    terminal_attachment 	(2093, 2246)
			    label      	(object SegLabel @989
				Parent_View 	@987
				location   	(2033, 2203)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.926763
				height     	44
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$218" @990
		    location   	(674, 1390)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0DF0048"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$219" @991
			    Parent_View 	@990
			    location   	(-1854, -706)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0DF03B9"
			    client     	@990
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(674, 1390)
			    terminal_attachment 	(935, 1390))
			(object RoleView "orderedFacet" @992
			    Parent_View 	@990
			    location   	(-1854, -706)
			    label      	(object SegLabel @993
				Parent_View 	@992
				location   	(658, 1353)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+orderedFacet"
				pctDist    	0.061538
				height     	38
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0DF03C3"
			    client     	@990
			    supplier   	@910
			    line_style 	3
			    origin_attachment 	(674, 1390)
			    terminal_attachment 	(414, 1390)
			    label      	(object SegLabel @994
				Parent_View 	@992
				location   	(510, 1355)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.634615
				height     	36
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$208" @995
		    location   	(687, 1296)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0CB039C"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$209" @996
			    Parent_View 	@995
			    location   	(-1809, -576)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0CC03D0"
			    client     	@995
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(687, 1296)
			    terminal_attachment 	(935, 1296))
			(object RoleView "numericFacet" @997
			    Parent_View 	@995
			    location   	(-1809, -576)
			    label      	(object SegLabel @998
				Parent_View 	@997
				location   	(668, 1257)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+numericFacet"
				pctDist    	0.080972
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0CC03D1"
			    client     	@995
			    supplier   	@911
			    line_style 	3
			    origin_attachment 	(687, 1296)
			    terminal_attachment 	(440, 1296)
			    label      	(object SegLabel @999
				Parent_View 	@997
				location   	(506, 1260)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.736842
				height     	37
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$222" @1000
		    location   	(1689, 1662)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B44401EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$223" @1001
			    Parent_View 	@1000
			    location   	(-183, -354)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B4450360"
			    client     	@1000
			    supplier   	@924
			    vertices   	(list Points
				(1689, 1662)
				(1487, 1662)
				(1487, 1428))
			    line_style 	3
			    origin_attachment 	(1689, 1662)
			    terminal_attachment 	(1487, 1428))
			(object RoleView "effectiveMaxFacet" @1002
			    Parent_View 	@1000
			    location   	(-183, -354)
			    label      	(object SegLabel @1003
				Parent_View 	@1002
				location   	(1769, 1623)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+effectiveMaxFacet"
				pctDist    	0.182051
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B445036A"
			    client     	@1000
			    supplier   	@912
			    line_style 	3
			    origin_attachment 	(1689, 1662)
			    terminal_attachment 	(2126, 1662)
			    label      	(object SegLabel @1004
				Parent_View 	@1002
				location   	(2044, 1627)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.815385
				height     	36
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$224" @1005
		    location   	(1328, 2258)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B54F0145"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$225" @1006
			    Parent_View 	@1005
			    location   	(-1072, -462)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B550038C"
			    client     	@1005
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1328, 2258)
			    terminal_attachment 	(1328, 1428))
			(object RoleView "effectiveWhiteSpaceFacet" @1007
			    Parent_View 	@1005
			    location   	(-1072, -462)
			    label      	(object SegLabel @1008
				Parent_View 	@1007
				location   	(1685, 2288)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	492
				justify    	0
				label      	"+effectiveWhiteSpaceFacet"
				pctDist    	0.508541
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B5500396"
			    client     	@1005
			    supplier   	@913
			    vertices   	(list Points
				(1328, 2258)
				(1328, 2324)
				(2093, 2324))
			    line_style 	3
			    origin_attachment 	(1328, 2258)
			    terminal_attachment 	(2093, 2324)
			    label      	(object SegLabel @1009
				Parent_View 	@1007
				location   	(2009, 2293)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.898817
				height     	32
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$226" @1010
		    location   	(1297, 2366)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B5C4011C"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$227" @1011
			    Parent_View 	@1010
			    location   	(-607, -722)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B5C5020D"
			    client     	@1010
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1297, 2366)
			    terminal_attachment 	(1297, 1428))
			(object RoleView "effectiveMaxLengthFacet" @1012
			    Parent_View 	@1010
			    location   	(-607, -722)
			    label      	(object SegLabel @1013
				Parent_View 	@1012
				location   	(1657, 2463)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+effectiveMaxLengthFacet"
				pctDist    	0.526906
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B5C50217"
			    client     	@1010
			    supplier   	@919
			    vertices   	(list Points
				(1297, 2366)
				(1297, 2499)
				(2102, 2499))
			    line_style 	3
			    origin_attachment 	(1297, 2366)
			    terminal_attachment 	(2102, 2499)
			    label      	(object SegLabel @1014
				Parent_View 	@1012
				location   	(2007, 2471)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.899308
				height     	29
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$228" @1015
		    location   	(1262, 2449)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B62A00AA"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$229" @1016
			    Parent_View 	@1015
			    location   	(-1170, -815)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B62B0138"
			    client     	@1015
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1262, 2449)
			    terminal_attachment 	(1262, 1428))
			(object RoleView "effectiveFractionDigitsFacet" @1017
			    Parent_View 	@1015
			    location   	(-1170, -815)
			    label      	(object SegLabel @1018
				Parent_View 	@1017
				location   	(1640, 2634)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	528
				justify    	0
				label      	"+effectiveFractionDigitsFacet"
				pctDist    	0.585315
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B62B0142"
			    client     	@1015
			    supplier   	@914
			    vertices   	(list Points
				(1262, 2449)
				(1262, 2668)
				(2065, 2668))
			    line_style 	3
			    origin_attachment 	(1262, 2449)
			    terminal_attachment 	(2065, 2668)
			    label      	(object SegLabel @1019
				Parent_View 	@1017
				location   	(1989, 2629)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.926485
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$230" @1020
		    location   	(1422, 2159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B6B003A6"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$231" @1021
			    Parent_View 	@1020
			    location   	(-770, -1313)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B6B10311"
			    client     	@1020
			    supplier   	@924
			    vertices   	(list Points
				(1422, 2159)
				(1362, 2159)
				(1362, 1428))
			    line_style 	3
			    origin_attachment 	(1422, 2159)
			    terminal_attachment 	(1362, 1428))
			(object RoleView "effectivePatternFacet" @1022
			    Parent_View 	@1020
			    location   	(-770, -1313)
			    label      	(object SegLabel @1023
				Parent_View 	@1022
				location   	(1727, 2125)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	408
				justify    	0
				label      	"+effectivePatternFacet"
				pctDist    	0.399090
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B6B10312"
			    client     	@1020
			    supplier   	@915
			    line_style 	3
			    origin_attachment 	(1422, 2159)
			    terminal_attachment 	(2187, 2159)
			    label      	(object SegLabel @1024
				Parent_View 	@1022
				location   	(2102, 2119)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.889226
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$232" @1025
		    location   	(1084, 2083)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B7CA026B"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$233" @1026
			    Parent_View 	@1025
			    location   	(828, -1373)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B7CB0186"
			    client     	@1025
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1084, 2083)
			    terminal_attachment 	(1084, 1428))
			(object RoleView "effectiveEnumerationFacet" @1027
			    Parent_View 	@1025
			    location   	(828, -1373)
			    label      	(object SegLabel @1028
				Parent_View 	@1027
				location   	(822, 2101)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	504
				justify    	0
				label      	"+effectiveEnumerationFacet"
				pctDist    	0.488619
				height     	43
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B7CB0190"
			    client     	@1025
			    supplier   	@916
			    vertices   	(list Points
				(1084, 2083)
				(1084, 2143)
				(485, 2143))
			    line_style 	3
			    origin_attachment 	(1084, 2083)
			    terminal_attachment 	(485, 2143)
			    label      	(object SegLabel @1029
				Parent_View 	@1027
				location   	(531, 2100)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.931715
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$238" @1030
		    location   	(1122, 2241)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B8DC0052"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$239" @1031
			    Parent_View 	@1030
			    location   	(866, -479)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B8DC03B9"
			    client     	@1030
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1122, 2241)
			    terminal_attachment 	(1122, 1428))
			(object RoleView "effectiveLengthFacet" @1032
			    Parent_View 	@1030
			    location   	(866, -479)
			    label      	(object SegLabel @1033
				Parent_View 	@1032
				location   	(800, 2279)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+effectiveLengthFacet"
				pctDist    	0.491731
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B8DC03C3"
			    client     	@1030
			    supplier   	@917
			    vertices   	(list Points
				(1122, 2241)
				(1122, 2318)
				(387, 2318))
			    line_style 	3
			    origin_attachment 	(1122, 2241)
			    terminal_attachment 	(387, 2318)
			    label      	(object SegLabel @1034
				Parent_View 	@1032
				location   	(470, 2279)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.898567
				height     	40
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$186" @1035
		    location   	(773, 1565)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B085025B"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$187" @1036
			    Parent_View 	@1035
			    location   	(469, 13)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0860270"
			    client     	@1035
			    supplier   	@924
			    vertices   	(list Points
				(773, 1565)
				(959, 1565)
				(959, 1428))
			    line_style 	3
			    origin_attachment 	(773, 1565)
			    terminal_attachment 	(959, 1428))
			(object RoleView "minFacet" @1037
			    Parent_View 	@1035
			    location   	(469, 13)
			    label      	(object SegLabel @1038
				Parent_View 	@1037
				location   	(753, 1532)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	"+minFacet"
				pctDist    	0.063091
				height     	34
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B086027A"
			    client     	@1035
			    supplier   	@918
			    line_style 	3
			    origin_attachment 	(773, 1565)
			    terminal_attachment 	(451, 1565)
			    label      	(object SegLabel @1039
				Parent_View 	@1037
				location   	(534, 1523)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.746667
				height     	43
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$240" @1040
		    location   	(816, 1650)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B97001DB"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$241" @1041
			    Parent_View 	@1040
			    location   	(496, -334)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B97100CF"
			    client     	@1040
			    supplier   	@924
			    vertices   	(list Points
				(816, 1650)
				(959, 1650)
				(959, 1428))
			    line_style 	3
			    origin_attachment 	(816, 1650)
			    terminal_attachment 	(959, 1428))
			(object RoleView "effectiveMinFacet" @1042
			    Parent_View 	@1040
			    location   	(496, -334)
			    label      	(object SegLabel @1043
				Parent_View 	@1042
				location   	(764, 1614)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+effectiveMinFacet"
				pctDist    	0.141618
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B97100D9"
			    client     	@1040
			    supplier   	@918
			    line_style 	3
			    origin_attachment 	(816, 1650)
			    terminal_attachment 	(451, 1650)
			    label      	(object SegLabel @1044
				Parent_View 	@1042
				location   	(523, 1606)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.802740
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$210" @1045
		    location   	(1297, 2321)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0CF0199"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$211" @1046
			    Parent_View 	@1045
			    location   	(-719, 497)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D20085"
			    client     	@1045
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1297, 2321)
			    terminal_attachment 	(1297, 1428))
			(object RoleView "maxLengthFacet" @1047
			    Parent_View 	@1045
			    location   	(-719, 497)
			    label      	(object SegLabel @1048
				Parent_View 	@1047
				location   	(1630, 2380)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+maxLengthFacet"
				pctDist    	0.472255
				height     	30
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D2008F"
			    client     	@1045
			    supplier   	@919
			    vertices   	(list Points
				(1297, 2321)
				(1297, 2409)
				(2102, 2409))
			    line_style 	3
			    origin_attachment 	(1297, 2321)
			    terminal_attachment 	(2102, 2409)
			    label      	(object SegLabel @1049
				Parent_View 	@1047
				location   	(1994, 2366)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.879208
				height     	44
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$212" @1050
		    location   	(1159, 2273)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0D500C5"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$213" @1051
			    Parent_View 	@1050
			    location   	(-281, 449)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D6001D"
			    client     	@1050
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1159, 2273)
			    terminal_attachment 	(1159, 1428))
			(object RoleView "minLengthFacet" @1052
			    Parent_View 	@1050
			    location   	(-281, 449)
			    label      	(object SegLabel @1053
				Parent_View 	@1052
				location   	(857, 2372)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	324
				justify    	0
				label      	"+minLengthFacet"
				pctDist    	0.519527
				height     	38
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D60027"
			    client     	@1050
			    supplier   	@920
			    vertices   	(list Points
				(1159, 2273)
				(1159, 2409)
				(450, 2409))
			    line_style 	3
			    origin_attachment 	(1159, 2273)
			    terminal_attachment 	(450, 2409)
			    label      	(object SegLabel @1054
				Parent_View 	@1052
				location   	(523, 2369)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.913610
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$236" @1055
		    location   	(1197, 2334)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B898016D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$237" @1056
			    Parent_View 	@1055
			    location   	(941, -610)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B8990056"
			    client     	@1055
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1197, 2334)
			    terminal_attachment 	(1197, 1428))
			(object RoleView "effectiveMinLengthFacet" @1057
			    Parent_View 	@1055
			    location   	(941, -610)
			    label      	(object SegLabel @1058
				Parent_View 	@1057
				location   	(856, 2454)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	468
				justify    	0
				label      	"+effectiveMinLengthFacet"
				pctDist    	0.552604
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B8990060"
			    client     	@1055
			    supplier   	@920
			    vertices   	(list Points
				(1197, 2334)
				(1197, 2493)
				(450, 2493))
			    line_style 	3
			    origin_attachment 	(1197, 2334)
			    terminal_attachment 	(450, 2493)
			    label      	(object SegLabel @1059
				Parent_View 	@1057
				location   	(527, 2451)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.916047
				height     	43
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$234" @1060
		    location   	(1231, 2438)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B8400062"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$235" @1061
			    Parent_View 	@1060
			    location   	(863, -746)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B841001D"
			    client     	@1060
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1231, 2438)
			    terminal_attachment 	(1231, 1428))
			(object RoleView "effectiveTotalDigitsFacet" @1062
			    Parent_View 	@1060
			    location   	(863, -746)
			    label      	(object SegLabel @1063
				Parent_View 	@1062
				location   	(859, 2632)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	468
				justify    	0
				label      	"+effectiveTotalDigitsFacet"
				pctDist    	0.597030
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B8410027"
			    client     	@1060
			    supplier   	@921
			    vertices   	(list Points
				(1231, 2438)
				(1231, 2668)
				(451, 2668))
			    line_style 	3
			    origin_attachment 	(1231, 2438)
			    terminal_attachment 	(451, 2668)
			    label      	(object SegLabel @1064
				Parent_View 	@1062
				location   	(534, 2631)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.918812
				height     	38
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$214" @1065
		    location   	(1231, 2397)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28B0D800DE"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$215" @1066
			    Parent_View 	@1065
			    location   	(-209, 253)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D803CD"
			    client     	@1065
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1231, 2397)
			    terminal_attachment 	(1231, 1428))
			(object RoleView "totalDigitsFacet" @1067
			    Parent_View 	@1065
			    location   	(-209, 253)
			    label      	(object SegLabel @1068
				Parent_View 	@1067
				location   	(853, 2550)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+totalDigitsFacet"
				pctDist    	0.585567
				height     	38
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28B0D803D7"
			    client     	@1065
			    supplier   	@921
			    vertices   	(list Points
				(1231, 2397)
				(1231, 2587)
				(451, 2587))
			    line_style 	3
			    origin_attachment 	(1231, 2397)
			    terminal_attachment 	(451, 2587)
			    label      	(object SegLabel @1069
				Parent_View 	@1067
				location   	(535, 2560)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.914647
				height     	28
				orientation 	1))))
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1070
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1232, 768)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1070
			location   	(1019, 574)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B66ECD302A9"
		    width      	444
		    height     	413
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @1071
		    location   	(1209, 1065)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@1070
		    vertices   	(list Points
			(1209, 1065)
			(1209, 974)))
		(object AssociationViewNew "$UNNAMED$170" @1072
		    location   	(1090, 1031)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C2880F503D9"
		    roleview_list 	(list RoleViews
			(object RoleView "rootTypeDefinition" @1073
			    Parent_View 	@1072
			    location   	(322, -25)
			    label      	(object SegLabel @1074
				Parent_View 	@1073
				location   	(897, 1036)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+rootTypeDefinition"
				pctDist    	-0.098765
				height     	194
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C2880F9003C"
			    client     	@1072
			    supplier   	@1070
			    line_style 	3
			    origin_attachment 	(1090, 1031)
			    terminal_attachment 	(1090, 974)
			    label      	(object SegLabel @1075
				Parent_View 	@1073
				location   	(1121, 1034)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.061728
				height     	31
				orientation 	1))
			(object RoleView "$UNNAMED$171" @1076
			    Parent_View 	@1072
			    location   	(322, -25)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C2880F90046"
			    client     	@1072
			    supplier   	@922
			    line_style 	3
			    origin_attachment 	(1090, 1031)
			    terminal_attachment 	(1090, 1088))))
		(object AssociationViewNew "$UNNAMED$176" @1077
		    location   	(1538, 873)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A6DB01E5"
		    roleview_list 	(list RoleViews
			(object RoleView "rootType" @1078
			    Parent_View 	@1077
			    location   	(178, 105)
			    label      	(object SegLabel @1079
				Parent_View 	@1078
				location   	(1558, 792)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+rootType"
				pctDist    	-1.760870
				height     	20
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A6DD03DD"
			    client     	@1077
			    supplier   	@1070
			    vertices   	(list Points
				(1538, 873)
				(1538, 919)
				(1454, 919))
			    line_style 	3
			    origin_attachment 	(1538, 873)
			    terminal_attachment 	(1454, 919)
			    label      	(object SegLabel @1080
				Parent_View 	@1078
				location   	(1509, 875)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.016667
				height     	30
				orientation 	1))
			(object RoleView "$UNNAMED$177" @1081
			    Parent_View 	@1077
			    location   	(178, 105)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A6DD03DE"
			    client     	@1077
			    supplier   	@1070
			    vertices   	(list Points
				(1538, 873)
				(1538, 828)
				(1454, 828))
			    line_style 	3
			    origin_attachment 	(1538, 873)
			    terminal_attachment 	(1454, 828))))
		(object AssociationViewNew "$UNNAMED$178" @1082
		    location   	(1535, 684)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A7120108"
		    roleview_list 	(list RoleViews
			(object RoleView "baseType" @1083
			    Parent_View 	@1082
			    location   	(175, -84)
			    label      	(object SegLabel @1084
				Parent_View 	@1083
				location   	(1559, 597)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+baseType"
				pctDist    	-1.977273
				height     	24
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A7140151"
			    client     	@1082
			    supplier   	@1070
			    vertices   	(list Points
				(1535, 684)
				(1535, 728)
				(1454, 728))
			    line_style 	3
			    origin_attachment 	(1535, 684)
			    terminal_attachment 	(1454, 728)
			    label      	(object SegLabel @1085
				Parent_View 	@1083
				location   	(1506, 683)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.027778
				height     	30
				orientation 	1))
			(object RoleView "$UNNAMED$179" @1086
			    Parent_View 	@1082
			    location   	(175, -84)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A714015B"
			    client     	@1082
			    supplier   	@1070
			    vertices   	(list Points
				(1535, 684)
				(1535, 641)
				(1454, 641))
			    line_style 	3
			    origin_attachment 	(1535, 684)
			    terminal_attachment 	(1454, 641))))
		(object AssociationViewNew "$UNNAMED$182" @1087
		    location   	(613, 940)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A7ED03C0"
		    roleview_list 	(list RoleViews
			(object RoleView "complexType" @1088
			    Parent_View 	@1087
			    location   	(-747, 172)
			    label      	(object SegLabel @1089
				Parent_View 	@1088
				location   	(465, 983)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+complexType"
				pctDist    	0.373057
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A7F40117"
			    client     	@1087
			    supplier   	@923
			    vertices   	(list Points
				(613, 940)
				(284, 940)
				(284, 1008))
			    line_style 	3
			    origin_attachment 	(613, 940)
			    terminal_attachment 	(284, 1008)
			    label      	(object SegLabel @1090
				Parent_View 	@1088
				location   	(224, 972)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.909320
				height     	61
				orientation 	1))
			(object RoleView "$UNNAMED$183" @1091
			    Parent_View 	@1087
			    location   	(-747, 172)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A7F40121"
			    client     	@1087
			    supplier   	@1070
			    line_style 	3
			    origin_attachment 	(613, 940)
			    terminal_attachment 	(1010, 940))))
		(object InheritView "" @1092
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B7FCAB1004D"
		    client     	@1070
		    supplier   	@900
		    line_style 	3
		    origin_attachment 	(1112, 562)
		    terminal_attachment 	(1112, 510)
		    drawSupplier 	@901)
		(object InheritView "" @1093
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BA0D01901F1"
		    client     	@922
		    supplier   	@1070
		    line_style 	3
		    origin_attachment 	(1146, 1088)
		    terminal_attachment 	(1146, 1065)
		    drawSupplier 	@1071)
		(object AssociationViewNew "$UNNAMED$180" @1094
		    location   	(1362, 1133)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A74B0178"
		    roleview_list 	(list RoleViews
			(object RoleView "simpleType" @1095
			    Parent_View 	@1094
			    location   	(-158, -163)
			    label      	(object SegLabel @1096
				Parent_View 	@1095
				location   	(1499, 1094)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+simpleType"
				pctDist    	-0.246753
				height     	137
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A74D017B"
			    client     	@1094
			    supplier   	@924
			    line_style 	3
			    origin_attachment 	(1362, 1133)
			    terminal_attachment 	(1362, 1292)
			    label      	(object SegLabel @1097
				Parent_View 	@1095
				location   	(1321, 1097)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	-0.227273
				height     	42
				orientation 	1))
			(object RoleView "$UNNAMED$181" @1098
			    Parent_View 	@1094
			    location   	(-158, -163)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A74D0185"
			    client     	@1094
			    supplier   	@1070
			    line_style 	3
			    origin_attachment 	(1362, 1133)
			    terminal_attachment 	(1362, 974))))
		(object ClassView "Class" "Logical View::xsd::XSDFeature" @1099
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2272, 384)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1099
			location   	(2002, 303)
			fill_color 	13434879
			nlines     	1
			max_width  	540
			justify    	0
			label      	"XSDFeature")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3B69B537026C"
		    compartment 	(object Compartment
			Parent_View 	@1099
			location   	(2002, 363)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	0
			compartmentItems 	(list Compartment
			    "+ global : boolean"
			    "+ featureReference : boolean"))
		    width      	558
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @1100
		    location   	(2262, 568)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@1099
		    vertices   	(list Points
			(2262, 568)
			(2262, 477)))
		(object InheritView "" @1101
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69EDEE01BF"
		    client     	@896
		    supplier   	@1099
		    line_style 	3
		    origin_attachment 	(2346, 595)
		    terminal_attachment 	(2346, 568)
		    drawSupplier 	@1100)
		(object AssociationViewNew "$UNNAMED$174" @1102
		    location   	(1553, 453)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C28A0F201A4"
		    roleview_list 	(list RoleViews
			(object RoleView "type" @1103
			    Parent_View 	@1102
			    location   	(801, 293)
			    label      	(object SegLabel @1104
				Parent_View 	@1103
				location   	(1331, 499)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	108
				justify    	0
				label      	"+type"
				pctDist    	0.506266
				height     	46
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A0F302E5"
			    client     	@1102
			    supplier   	@1070
			    vertices   	(list Points
				(1553, 453)
				(1222, 453)
				(1222, 562))
			    line_style 	3
			    origin_attachment 	(1553, 453)
			    terminal_attachment 	(1222, 562)
			    label      	(object SegLabel @1105
				Parent_View 	@1103
				location   	(1185, 479)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.812030
				height     	38
				orientation 	1))
			(object RoleView "$UNNAMED$175" @1106
			    Parent_View 	@1102
			    location   	(801, 293)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C28A0F302F0"
			    client     	@1102
			    supplier   	@1099
			    line_style 	3
			    origin_attachment 	(1553, 453)
			    terminal_attachment 	(1993, 453))))
		(object AssociationViewNew "$UNNAMED$66" @1107
		    location   	(1908, 353)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C29010602D7"
		    roleview_list 	(list RoleViews
			(object RoleView "resolvedFeature" @1108
			    Parent_View 	@1107
			    location   	(-268, -159)
			    label      	(object SegLabel @1109
				Parent_View 	@1108
				location   	(1729, 352)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+resolvedFeature"
				pctDist    	-0.029412
				height     	180
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C29010B000E"
			    client     	@1107
			    supplier   	@1099
			    vertices   	(list Points
				(1908, 353)
				(1908, 387)
				(1993, 387))
			    line_style 	3
			    origin_attachment 	(1908, 353)
			    terminal_attachment 	(1993, 387)
			    label      	(object SegLabel @1110
				Parent_View 	@1108
				location   	(1945, 354)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.596639
				height     	34
				orientation 	0))
			(object RoleView "$UNNAMED$67" @1111
			    Parent_View 	@1107
			    location   	(-268, -159)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C29010B0018"
			    client     	@1107
			    supplier   	@1099
			    vertices   	(list Points
				(1908, 353)
				(1908, 319)
				(1993, 319))
			    line_style 	3
			    origin_attachment 	(1908, 353)
			    terminal_attachment 	(1993, 319))))
		(object InheritView "" @1112
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A26036D"
		    client     	@900
		    supplier   	@899
		    vertices   	(list Points
			(494, 284)
			(494, 244)
			(996, 244))
		    line_style 	3
		    origin_attachment 	(494, 284)
		    terminal_attachment 	(996, 244))
		(object InheritView "" @1113
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B69B7DC0193"
		    client     	@887
		    supplier   	@1099
		    line_style 	3
		    origin_attachment 	(1718, 812)
		    terminal_attachment 	(1718, 568)
		    drawSupplier 	@1100)
		(object InheritView "" @1114
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B684A1302A2"
		    client     	@924
		    supplier   	@1070
		    line_style 	3
		    origin_attachment 	(1265, 1292)
		    terminal_attachment 	(1265, 1065)
		    drawSupplier 	@1071)
		(object InheritView "" @1115
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C290A2C0307"
		    client     	@1099
		    supplier   	@899
		    vertices   	(list Points
			(2147, 291)
			(2147, 244)
			(1468, 244))
		    line_style 	3
		    origin_attachment 	(2147, 291)
		    terminal_attachment 	(1468, 244))))))
