
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Design "Logical View"
    is_unit    	TRUE
    is_loaded  	TRUE
    defaults   	(object defaults
	rightMargin 	0.250000
	leftMargin 	0.250000
	topMargin  	0.250000
	bottomMargin 	0.500000
	pageOverlap 	0.250000
	clipIconLabels 	TRUE
	autoResize 	TRUE
	snapToGrid 	TRUE
	gridX      	16
	gridY      	16
	defaultFont 	(object Font
	    size       	10
	    face       	"Arial"
	    bold       	FALSE
	    italics    	FALSE
	    underline  	FALSE
	    strike     	FALSE
	    color      	0
	    default_color 	TRUE)
	showMessageNum 	1
	showClassOfObject 	TRUE
	notation   	"Unified")
    root_usecase_package 	(object Class_Category "Use Case View"
	quid       	"39E27F080064"
	exportControl 	"Public"
	global     	TRUE
	logical_models 	(list unit_reference_list)
	logical_presentations 	(list unit_reference_list
	    (object UseCaseDiagram "Main"
		quid       	"39E27F080078"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    root_category 	(object Class_Category "Logical View"
	quid       	"39E27F080063"
	exportControl 	"Public"
	global     	TRUE
	subsystem  	"Component View"
	quidu      	"39E27F080065"
	logical_models 	(list unit_reference_list
	    (object Class_Category "wsdl"
		quid       	"3ADFB8E5021E"
		documentation 	
|The WSDL model contains classes for the Web Services Description Language (WSDL).
|
|WSDL describes network services as sets of endpoints operating on messages. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
|
|WSDL describes the formats of the messages exchanged by the services, and supports the XML Schemas specification as its canonical type system. This package uses an XML Schema Infoset model package (see the XSD package) to describe the abstract message formats.
|
|The model contains the following diagrams, named after the corresponding chapters in the WSDL 1.1 specification (http://www.w3.org/TR/2001/NOTE-wsdl-20010315)
|- 2.1 Definition, shows the WSDL definition element and the WSDL document structure
|- 2.1.1 Naming and Linking, shows the namespace and import mechanism
|- 2.1.3 Extensibility, shows the WSDL extensibility mechanism
|- 2.2 Types, shows the use of XML Schema types in WSDL
|- 2.3 Messages, 2.4 PortTypes, 2.5 Bindings and 2.7 Services, show the major WSDL elements and their relations.
|
|The WSDL classes extend the javax.wsdl interfaces defined by JSR 110. Classes with interface and datatype stereotypes are used to represent these non-MOF interfaces.
		
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "WSDLElement"
			quid       	"3AD5C6A302DD"
			documentation 	"This class represents a WSDL language element."
			operations 	(list Operations
			    (object Operation "getEnclosingDefinition"
				quid       	"3CD1529600C8"
				result     	"Definition"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setEnclosingDefinition"
				quid       	"3CD152B80347"
				parameters 	(list Parameters
				    (object Parameter "definition"
					type       	"Definition"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "documentationElement"
				quid       	"3CCE443602A3"
				type       	"DOMElement")
			    (object ClassAttribute "element"
				quid       	"3F97DBD30207"
				type       	"DOMElement"))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "PortType"
			quid       	"3AD5C7F001A5"
			documentation 	"This class represents a WSDL portType element of the WSDL specification version 1.1 and an Interface component of the WSDL specification version 1.2. A port type or Interface is a named set of abstract operations and the abstract messages involved."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5C9B70150"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FD8019F"
				supplier   	"Logical View::wsdl::IPortType"
				quidu      	"3B84A5BE0331"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB488E0023"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1E301E5"
				type       	"boolean"))
			language   	"Java")
		    (object Class "Operation"
			quid       	"3AD5C80D03CE"
			documentation 	"This class represents a WSDL operation element. A WSDL operation is an abstract description of an action supported by a service."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE9DE98003C"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FE20171"
				supplier   	"Logical View::wsdl::IOperation"
				quidu      	"3B84A77600D1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "style"
				quid       	"3AEB472601AC"
				type       	"OperationType")
			    (object ClassAttribute "name"
				quid       	"3BDD9643004C"
				type       	"String")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF235003E"
				type       	"boolean"))
			language   	"Java")
		    (object Class "Message"
			quid       	"3AD5C9590078"
			documentation 	"This class represents a WSDL message element. A WSDL message is an abstract, typed definition of the data being communicated."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5D05501C4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3B84A8D102BA"
				supplier   	"Logical View::wsdl::IMessage"
				quidu      	"3B84A8AF004F"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB487C01FE"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1D20226"
				type       	"boolean"))
			language   	"Java")
		    (object Class "Part"
			quid       	"3AD5CE1C032E"
			documentation 	"This class represents a WSDL part element. Parts describe the logical abstract content of a message. Each part is associated with a type from some type system. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84A96D02F1"
				supplier   	"Logical View::wsdl::IPart"
				quidu      	"3B84A93F01BE")
			    (object Inheritance_Relationship
				quid       	"3B897E230237"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3BCE70B703C8"
				type       	"String")
			    (object ClassAttribute "elementName"
				quid       	"3B84B08703DB"
				type       	"QName")
			    (object ClassAttribute "typeName"
				quid       	"3BCE70C303C5"
				type       	"QName"))
			language   	"Java")
		    (object Class "Binding"
			quid       	"3AD5D2860261"
			documentation 	"This class represents a WSDL binding element. A binding defines message format and protocol details for operations and messages defined by a particular portType. There may be any number of bindings for a given portType."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA0F02F0"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B8595410129"
				supplier   	"Logical View::wsdl::IBinding"
				quidu      	"3B84ABC60219"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB4899014B"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1F401A3"
				type       	"boolean"))
			language   	"Java")
		    (object Class "BindingOperation"
			quid       	"3AD5D3CB0145"
			documentation 	"This class represents a WSDL operation element within a binding. An operation element within a binding specifies binding information for the operation with the same name within the binding's portType. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD6009202F7"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84ADE401DC"
				supplier   	"Logical View::wsdl::IBindingOperation"
				quidu      	"3B84ADC00072"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B89C4CB0199"
				type       	"String"))
			language   	"Java")
		    (object Class "Service"
			quid       	"3AD5D8F002F8"
			documentation 	"This class represents a WSDL service element. A service groups a set of related ports together."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA20025E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954E01B4"
				supplier   	"Logical View::wsdl::IService"
				quidu      	"3B84AB490287"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB48A40151"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF20D0203"
				type       	"boolean"))
			language   	"Java")
		    (object Class "Port"
			quid       	"3AD5D9170286"
			documentation 	"This class represents a WSDL port element. A port defines an individual endpoint by specifying a single address for a binding"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD600CB00AA"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954502C9"
				supplier   	"Logical View::wsdl::IPort"
				quidu      	"3B84AB800326"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3AD5D9A00391"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibilityElement"
			quid       	"3AD5DBB602A9"
			documentation 	"This class represents a WSDL extensibility element. WSDL allows extensibility elements representing a specific technology under various elements defined by WSDL."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84B14903D0"
				supplier   	"Logical View::wsdl::IExtensibilityElement"
				quidu      	"3B84B12402AB")
			    (object Inheritance_Relationship
				quid       	"3BDDF53502C3"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3AF9543C0073"
				type       	"boolean")
			    (object ClassAttribute "elementType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B85B21A0271"
				type       	"QName"))
			language   	"Java")
		    (object Class "Definition"
			quid       	"3AD5E43F008E"
			documentation 	"This class represents a WSDL definitions element. The WSDL definitions element is the root element of a WSDL document."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FDB803D4"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84B1F80382"
				supplier   	"Logical View::wsdl::IDefinition"
				quidu      	"3B84B1D90142"))
			operations 	(list Operations
			    (object Operation "getDocument"
				quid       	"3CD14FC2012B"
				result     	"DOMDocument"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocument"
				quid       	"3CD150DE01E7"
				parameters 	(list Parameters
				    (object Parameter "document"
					type       	"DOMDocument"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "targetNamespace"
				quid       	"3AD5E474004E"
				type       	"String")
			    (object ClassAttribute "location"
				quid       	"40352B7C0396"
				type       	"String")
			    (object ClassAttribute "qName"
				quid       	"3AEB485702F5"
				type       	"QName")
			    (object ClassAttribute "encoding"
				quid       	"3CADD00D000D"
				type       	"String"))
			language   	"Java")
		    (object Class "Import"
			quid       	"3AD5E4F903DE"
			documentation 	"This class represents WSDL import element. WSDL allows associating a namespace with a document location using an import element."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5EE58037A"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F200D0340"
				supplier   	"Logical View::wsdl::IImport"
				quidu      	"3B84B2020119"))
			operations 	(list Operations
			    (object Operation "getSchema"
				quid       	"3C8672C10379"
				result     	"XSDSchema"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setSchema"
				quid       	"3C8672C10397"
				parameters 	(list Parameters
				    (object Parameter "schema"
					type       	"XSDSchema"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceURI"
				quid       	"3AD5E50A0036"
				type       	"String")
			    (object ClassAttribute "locationURI"
				quid       	"3AD5E5140211"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibleElement"
			quid       	"3AD5FCFA033A"
			documentation 	" WSDL allows elements representing a specific technology (referred to here as extensibility elements) under various elements defined by WSDL. This class represents a WSDL point of extensibility."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FE3C03D4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			operations 	(list Operations
			    (object Operation "getExtensibilityElements"
				quid       	"3B85C12C03CD"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addExtensibilityElement"
				quid       	"3B85C1470295"
				parameters 	(list Parameters
				    (object Parameter "extElement"
					type       	"IExtensibilityElement"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "Input"
			quid       	"3AE0789F0059"
			documentation 	"This class represents a WSDL input element. An input element specifies the abstract message format for the input of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C504025F"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67722802E7"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FEE031D"
				supplier   	"Logical View::wsdl::IInput"
				quidu      	"3B84A7EE0015"))
			language   	"Java")
		    (object Class "Output"
			quid       	"3AE078B60232"
			documentation 	"This class represents a WSDL output element. An output element specifies the abstract message format for the output of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C50C035B"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723500DD"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FF801CD"
				supplier   	"Logical View::wsdl::IOutput"
				quidu      	"3B84A829027D"))
			language   	"Java")
		    (object Class "Fault"
			quid       	"3AE078BE0108"
			documentation 	"This class represents a WSDL fault element. Fault elements specify the abstract message format for any error messages that may be output as the result of the operation "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE1C82002F2"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723D0319"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F2002002D"
				supplier   	"Logical View::wsdl::IFault"
				quidu      	"3B84A861031D"))
			language   	"Java")
		    (object Class "BindingInput"
			quid       	"3AE08A8202D4"
			documentation 	"This class represents a WSDL input element within a operation within a binding. An input element within an operation within a binding specifies binding information for the input of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE1B0113"
				supplier   	"Logical View::wsdl::IBindingInput"
				quidu      	"3B84ADEB0100")
			    (object Inheritance_Relationship
				quid       	"3B85B59B0072"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getInput"
				quid       	"3C8653A40203"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8653B503A2"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C1EA020E"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingOutput"
			quid       	"3AE08A8F028C"
			documentation 	"This class represents a WSDL output element within a operation within a binding. An output element within an operation within a binding specifies binding information for the output of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE4302AB"
				supplier   	"Logical View::wsdl::IBindingOutput"
				quidu      	"3B84AE210111")
			    (object Inheritance_Relationship
				quid       	"3B85B5A4027E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getOutput"
				quid       	"3C8653D900F1"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8653F10326"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C20200BE"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingFault"
			quid       	"3AE08A9E03A6"
			documentation 	"This class represents a WSDL fault element within a operation within a binding. A fault element within an operation within a binding specifies binding information for the fault with the same name. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE0938602C9"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84AE710333"
				supplier   	"Logical View::wsdl::IBindingFault"
				quidu      	"3B84AE4F00BD"))
			operations 	(list Operations
			    (object Operation "getFault"
				quid       	"3C865413037F"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setFault"
				quid       	"3C8654210109"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85BF9E014A"
				type       	"String"))
			language   	"Java")
		    (object Class "QName"
			quid       	"3AE8ED220140"
			documentation 	"This class represents the javax.wsdl.QName class. A QName is a fully qualified name."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.xml.namespace.QName"
				quid       	"3B849DA9003D"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "Namespace"
			quid       	"3AEA3CD30030"
			documentation 	"This class represents a namespace and the corresponding namespace prefix used in a WSDL document."
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "URI"
				quid       	"3AEA3D2901B1"
				type       	"String")
			    (object ClassAttribute "prefix"
				quid       	"3AEA3D320236"
				type       	"String"))
			language   	"Java")
		    (object Class "OperationType"
			quid       	"3AEB4782024F"
			documentation 	
|ONE_WAY=1
|REQUEST_RESPONSE=2
|SOLICIT_RESPONSE=3
|NOTIFICATION=4
			
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.OperationType"
				quid       	"3B85C35303E3"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IPortType"
			quid       	"3B84A5BE0331"
			documentation 	"This class represents the javax.wsdl.PortType non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addOperation"
				quid       	"3B896AC101CA"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3B896BAF01A4"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperations"
				quid       	"3B896BF7031A"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.PortType"
				quid       	"3B84A632000D"
				stereotype 	"javaclass")))
		    (object Class "IOperation"
			quid       	"3B84A77600D1"
			documentation 	"This class represents the javax.wsdl.Operation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addFault"
				quid       	"3B896C420065"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFault"
				quid       	"3B896C59028F"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFaults"
				quid       	"3B896C7102B1"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParameterOrdering"
				quid       	"3B896C8101B0"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setParameterOrdering"
				quid       	"3B896C99031D"
				parameters 	(list Parameters
				    (object Parameter "parameterOrder"
					type       	"IList"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getInput"
				quid       	"3C8654E5018D"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8662C40107"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOutput"
				quid       	"3C8662E40094"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8662F001D2"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Operation"
				quid       	"3B84A799012B"
				stereotype 	"javaclass")))
		    (object Class "IInput"
			quid       	"3B84A7EE0015"
			documentation 	"This class represents the javax.wsdl.Input non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86633100EF"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8663470277"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Input"
				quid       	"3B84A8000039"
				stereotype 	"javaclass")))
		    (object Class "IOutput"
			quid       	"3B84A829027D"
			documentation 	"This class represents the javax.wsdl.Output non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86643A035D"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C86644501C8"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Output"
				quid       	"3B84A83901D5"
				stereotype 	"javaclass")))
		    (object Class "IFault"
			quid       	"3B84A861031D"
			documentation 	"This class represents the javax.wsdl.Fault non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86646A00BD"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8664750131"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Fault"
				quid       	"3B84A8710208"
				stereotype 	"javaclass")))
		    (object Class "IMessage"
			quid       	"3B84A8AF004F"
			documentation 	"This class represents the javax.wsdl.Message non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPart"
				quid       	"3B8972240273"
				parameters 	(list Parameters
				    (object Parameter "part"
					type       	"IPart"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPart"
				quid       	"3B89723D0233"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParts"
				quid       	"3B897254025E"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOrderedParts"
				quid       	"3B897261020D"
				parameters 	(list Parameters
				    (object Parameter "partOrder"
					type       	"IList"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Message"
				quid       	"3B84A8BC0260"
				stereotype 	"javaclass")))
		    (object Class "IPart"
			quid       	"3B84A93F01BE"
			documentation 	"This class represents the javax.wsdl.Part non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "setExtensionAttribute"
				quid       	"3C4688450052"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName")
				    (object Parameter "value"
					type       	"QName"))
				exceptions 	"WSDLException"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttributeNames"
				quid       	"3C468A0101C3"
				result     	"IIterator"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttribute"
				quid       	"3C468A2D02D5"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"QName"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Part"
				quid       	"3B84A9500231"
				stereotype 	"javaclass")))
		    (object Class "IService"
			quid       	"3B84AB490287"
			documentation 	"This class represents the javax.wsdl.Service non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPort"
				quid       	"3B895D5601D1"
				parameters 	(list Parameters
				    (object Parameter "port"
					type       	"IPort"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPorts"
				quid       	"3B895DA20036"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPort"
				quid       	"3B895DB001BC"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Service"
				quid       	"3B84AB5B003E"
				stereotype 	"javaclass")))
		    (object Class "IPort"
			quid       	"3B84AB800326"
			documentation 	"This class represents the javax.wsdl.Port non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getBinding"
				quid       	"3C8651F302B5"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBinding"
				quid       	"3C86526302F2"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Port"
				quid       	"3B84AB8C0016"
				stereotype 	"javaclass")))
		    (object Class "IBinding"
			quid       	"3B84ABC60219"
			documentation 	"This class represents the javax.wsdl.Binding non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingOperation"
				quid       	"3B895F160153"
				parameters 	(list Parameters
				    (object Parameter "bindingOperation"
					type       	"IBindingOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperation"
				quid       	"3B895F500066"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperations"
				quid       	"3B895FA401C5"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3C8652A90284"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setPortType"
				quid       	"3C8652BE01A8"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Binding"
				quid       	"3B84ABCF0302"
				stereotype 	"javaclass")))
		    (object Class "IBindingOperation"
			quid       	"3B84ADC00072"
			documentation 	"This class represents the javax.wsdl.BindingOperation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingFault"
				quid       	"3B8960BC0041"
				parameters 	(list Parameters
				    (object Parameter "bindingFault"
					type       	"IBindingFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFault"
				quid       	"3B8960D9009D"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFaults"
				quid       	"3B8960FC0061"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3C86532D0017"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOperation"
				quid       	"3C86533F037B"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingInput"
				quid       	"3C86550900DA"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingInput"
				quid       	"3C86551D007F"
				parameters 	(list Parameters
				    (object Parameter "bindingInput"
					type       	"IBindingInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOutput"
				quid       	"3C8655340349"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingOutput"
				quid       	"3C86554702A6"
				parameters 	(list Parameters
				    (object Parameter "bindingOutput"
					type       	"IBindingOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOperation"
				quid       	"3B84ADCB021C"
				stereotype 	"javaclass")))
		    (object Class "IBindingInput"
			quid       	"3B84ADEB0100"
			documentation 	"This class represents the javax.wsdl.BindingInput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingInput"
				quid       	"3B84ADFE000D"
				stereotype 	"javaclass")))
		    (object Class "IBindingOutput"
			quid       	"3B84AE210111"
			documentation 	"This class represents the javax.wsdl.BindingOutput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOutput"
				quid       	"3B84AE2D0050"
				stereotype 	"javaclass")))
		    (object Class "IBindingFault"
			quid       	"3B84AE4F00BD"
			documentation 	"This class represents the javax.wsdl.BindingFault non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingFault"
				quid       	"3B84AE5F002A"
				stereotype 	"javaclass")))
		    (object Class "DOMElement"
			quid       	"3B84AF3203DB"
			documentation 	"This class represents the org.w3c.dom.Element non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B84AF560292"
				stereotype 	"javaclass")))
		    (object Class "IExtensibilityElement"
			quid       	"3B84B12402AB"
			documentation 	"This class represents the javax.wsdl.ExtensibilityElement non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensibilityElement"
				quid       	"3B84B13503D1"
				stereotype 	"javaclass")))
		    (object Class "IDefinition"
			quid       	"3B84B1D90142"
			documentation 	"This class represents the javax.wsdl.Definition non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBinding"
				quid       	"3B8988F1039D"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addImport"
				quid       	"3B8989490259"
				parameters 	(list Parameters
				    (object Parameter "importDef"
					type       	"IImport"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addMessage"
				quid       	"3B89896E005E"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addNamespace"
				quid       	"3B898984004B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String")
				    (object Parameter "namespaceURI"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addPortType"
				quid       	"3B8989C50045"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addService"
				quid       	"3B8989E401EE"
				parameters 	(list Parameters
				    (object Parameter "service"
					type       	"IService"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingFault"
				quid       	"3B898A17038C"
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingInput"
				quid       	"3B898A320286"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOutput"
				quid       	"3B898A46013B"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOperation"
				quid       	"3B898A5C00B0"
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBinding"
				quid       	"3B8989FE037C"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createFault"
				quid       	"3B898A7502E7"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createImport"
				quid       	"3B898A83014C"
				result     	"IImport"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createInput"
				quid       	"3B898A9D033E"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createMessage"
				quid       	"3B898AAF0254"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOperation"
				quid       	"3B898AC203C4"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOutput"
				quid       	"3B898AE800ED"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPart"
				quid       	"3B898AF8026D"
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPort"
				quid       	"3B898B0801DA"
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPortType"
				quid       	"3B898B15039B"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createService"
				quid       	"3B898B32013A"
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBinding"
				quid       	"3B898B420075"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindings"
				quid       	"3B898B920341"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BCD0060"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BE70144"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessage"
				quid       	"3B898C170107"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessages"
				quid       	"3B898C3E001D"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespace"
				quid       	"3B898C62014B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespaces"
				quid       	"3B898C740115"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3B898CBE0071"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortTypes"
				quid       	"3B898CDA01C6"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPrefix"
				quid       	"3B898CFD0017"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getService"
				quid       	"3B898D2300A8"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getServices"
				quid       	"3B898D3B03CE"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionRegistry"
				quid       	"3B89D5B8012B"
				result     	"IExtensionRegistry"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setExtensionRegistry"
				quid       	"3B89D5D703BB"
				parameters 	(list Parameters
				    (object Parameter "extensionRegistry"
					type       	"IExtensionRegistry"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getDocumentBaseURI"
				quid       	"3B89D5FE0208"
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocumentBaseURI"
				quid       	"3B89D6180328"
				parameters 	(list Parameters
				    (object Parameter "documentBase"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createTypes"
				quid       	"3CADD0560080"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeService"
				quid       	"3CADD07E004C"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeBinding"
				quid       	"3CADD0BA0355"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removePortType"
				quid       	"3CADD0D8029A"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeMessage"
				quid       	"3CADD0FA0307"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getTypes"
				quid       	"3C86706F031B"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setTypes"
				quid       	"3C86709500EE"
				parameters 	(list Parameters
				    (object Parameter "types"
					type       	"ITypes"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Definition"
				quid       	"3B84B1E702A1"
				stereotype 	"javaclass")))
		    (object Class "IImport"
			quid       	"3B84B2020119"
			documentation 	"This class represents the javax.wsdl.Import non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Import"
				quid       	"3B84B20C02EA"
				stereotype 	"javaclass")))
		    (object Class "IList"
			quid       	"3B85C0A203C5"
			documentation 	"This class represents the non-MOF java.util.List interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.List"
				quid       	"3B85C0AF0297"
				stereotype 	"javaclass")))
		    (object Class "IMap"
			quid       	"3B896B0300D4"
			documentation 	"This class represents the non-MOF java.util.Map interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Map"
				quid       	"3B896B1102B5"
				stereotype 	"javaclass")))
		    (object Class "IURL"
			quid       	"3B89D5630274"
			documentation 	"This class represents the non-MOF java.net.URL interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.net.URL"
				quid       	"3B89D56E03E2"
				stereotype 	"javaclass")))
		    (object Class "IExtensionRegistry"
			quid       	"3B89D59302A5"
			documentation 	"This class represents the non-MOF javax.wsdl.extensions.ExtensionRegistry interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensionRegistry"
				quid       	"3B89D59F02E8"
				stereotype 	"javaclass")))
		    (object Class "Types"
			quid       	"3B8BE9A603A8"
			documentation 	"This class represents a WSDL types element. The types element encloses data type definitions that are relevant for the exchanged messages."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B8BEB010311"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3CADCD3B0380"
				supplier   	"Logical View::wsdl::ITypes"
				quidu      	"3CADCBB20050"))
			operations 	(list Operations
			    (object Operation "getSchemas"
				quid       	"3CADCF3803E6"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getSchemas"
				quid       	"3CADCF7E0301"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)))
		    (object Class "IIterator"
			quid       	"3C4687DA0167"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Iterator"
				quid       	"3C46880800B9"
				stereotype 	"javaclass")))
		    (object Class "WSDLException"
			quid       	"3C4689650313"
			documentation 	"This class represents the javax.wsdl.Exception class."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.WSDLException"
				quid       	"3C4689740315"
				stereotype 	"javaclass")))
		    (object Class "ITypes"
			quid       	"3CADCBB20050"
			documentation 	"This class represents the javax.wsdl.Types non-MOF interface"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Types"
				quid       	"3CADCBF10173"
				stereotype 	"javaclass")))
		    (object Class "UnknownExtensibilityElement"
			quid       	"3CB24AC002AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CB24AEC01CB"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "XSDSchemaExtensibilityElement"
			quid       	"3CC360D7039C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CC3627F00B7"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "DOMDocument"
			quid       	"3CD1502C023B"
			documentation 	"This class represents the org.w3c.dom.Document non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3CD150600182"
				stereotype 	"javaclass")))
		    (object Class "MessageReference"
			quid       	"3F6771DB02DC"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3F762A6A0308"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3F6780A001AB"
				type       	"String"
				exportControl 	"Protected"))
			language   	"Java"
			abstract   	TRUE)
		    (object Association "$UNNAMED$0"
			quid       	"3AD5C824018C"
			roles      	(list role_list
			    (object Role "portType"
				quid       	"3AD5C82701C3"
				label      	"portType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				Containment 	"By Value"
				is_aggregate 	TRUE)
			    (object Role "eOperations"
				quid       	"3AD5C82701CD"
				label      	"eOperations"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$1"
			quid       	"3AD5CEBE00E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$2"
				quid       	"3AD5CEBF0057"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eParts"
				quid       	"3AD5CEBF0061"
				label      	"eParts"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$3"
			quid       	"3AD5D352010F"
			roles      	(list role_list
			    (object Role "ePortType"
				quid       	"3AD5D3540176"
				label      	"ePortType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$4"
				quid       	"3AD5D3540180"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261")))
		    (object Association "$UNNAMED$5"
			quid       	"3AD5D3E10179"
			roles      	(list role_list
			    (object Role "$UNNAMED$6"
				quid       	"3AD5D3E20225"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindingOperations"
				quid       	"3AD5D3E20239"
				label      	"eBindingOperations"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$7"
			quid       	"3AD5D425038A"
			roles      	(list role_list
			    (object Role "eOperation"
				quid       	"3AD5D42602F5"
				label      	"eOperation"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$8"
				quid       	"3AD5D42602FF"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145")))
		    (object Association "$UNNAMED$9"
			quid       	"3AD5D9400393"
			roles      	(list role_list
			    (object Role "ePorts"
				quid       	"3AD5D941031C"
				label      	"ePorts"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$10"
				quid       	"3AD5D941031D"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$11"
			quid       	"3AD5D9B8011F"
			roles      	(list role_list
			    (object Role "eBinding"
				quid       	"3AD5D9B9024D"
				label      	"eBinding"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$12"
				quid       	"3AD5D9B90261"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286")))
		    (object Association "$UNNAMED$57"
			quid       	"3C864DFF02EC"
			roles      	(list role_list
			    (object Role "eImports"
				quid       	"3C864DFF02ED"
				label      	"eImports"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$58"
				quid       	"3C864DFF02EE"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$53"
			quid       	"3B8BEA27029F"
			roles      	(list role_list
			    (object Role "$UNNAMED$54"
				quid       	"3B8BEA290356"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eTypes"
				quid       	"3B8BEA29036A"
				label      	"eTypes"
				supplier   	"Logical View::wsdl::Types"
				quidu      	"3B8BE9A603A8"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$13"
			quid       	"3AD5E60301E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$14"
				quid       	"3AD5E60400B7"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eMessages"
				quid       	"3AD5E60400C1"
				label      	"eMessages"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$15"
			quid       	"3AD5E6710104"
			roles      	(list role_list
			    (object Role "$UNNAMED$16"
				quid       	"3AD5E672034A"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "ePortTypes"
				quid       	"3AD5E6720354"
				label      	"ePortTypes"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$17"
			quid       	"3AD5E6770095"
			roles      	(list role_list
			    (object Role "$UNNAMED$18"
				quid       	"3AD5E6780371"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindings"
				quid       	"3AD5E678037B"
				label      	"eBindings"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$19"
			quid       	"3AD5E67B0311"
			roles      	(list role_list
			    (object Role "$UNNAMED$20"
				quid       	"3AD5E67D007F"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eServices"
				quid       	"3AD5E67D0089"
				label      	"eServices"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$21"
			quid       	"3AD5FD130079"
			roles      	(list role_list
			    (object Role "eExtensibilityElements"
				quid       	"3AD5FD14019D"
				label      	"eExtensibilityElements"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$22"
				quid       	"3AD5FD14019E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$23"
			quid       	"3ADF2E6401F5"
			roles      	(list role_list
			    (object Role "eBindingInput"
				quid       	"3ADF2E650251"
				label      	"eBindingInput"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$24"
				quid       	"3ADF2E650252"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$25"
			quid       	"3ADF2EB30163"
			roles      	(list role_list
			    (object Role "eBindingOutput"
				quid       	"3ADF2EB4013C"
				label      	"eBindingOutput"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$26"
				quid       	"3ADF2EB4013D"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$27"
			quid       	"3ADF2F94024D"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3ADF2F950190"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$28"
				quid       	"3ADF2F95019A"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$29"
			quid       	"3ADF2FB802F9"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3ADF2FB9020A"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$30"
				quid       	"3ADF2FB9020B"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$31"
			quid       	"3ADF331601A4"
			roles      	(list role_list
			    (object Role "eFaults"
				quid       	"3ADF33180387"
				label      	"eFaults"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$32"
				quid       	"3ADF33180388"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$33"
			quid       	"3ADF340003E5"
			roles      	(list role_list
			    (object Role "eBindingFaults"
				quid       	"3ADF340103AA"
				label      	"eBindingFaults"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$34"
				quid       	"3ADF340103AB"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$35"
			quid       	"3AE091F402F3"
			roles      	(list role_list
			    (object Role "eFault"
				quid       	"3AE091F801FE"
				label      	"eFault"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$36"
				quid       	"3AE091F801FF"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6")))
		    (object Association "$UNNAMED$37"
			quid       	"3AEA3D55002D"
			roles      	(list role_list
			    (object Role "$UNNAMED$38"
				quid       	"3AEA3D560328"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eNamespaces"
				quid       	"3AEA3D560332"
				label      	"eNamespaces"
				supplier   	"Logical View::wsdl::Namespace"
				quidu      	"3AEA3CD30030"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$39"
			quid       	"3AEA3E3A002D"
			roles      	(list role_list
			    (object Role "eDefinition"
				quid       	"3AEA3E3C01E8"
				label      	"eDefinition"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$40"
				quid       	"3AEA3E3C01F2"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$41"
			quid       	"3AEA412F0035"
			roles      	(list role_list
			    (object Role "eParameterOrdering"
				quid       	"3AEA41310255"
				label      	"eParameterOrdering"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$42"
				quid       	"3AEA4131025F"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE")))
		    (object Association "$UNNAMED$43"
			quid       	"3B84AD2400BD"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3B84AD250083"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$44"
				quid       	"3B84AD250084"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4")))
		    (object Association "$UNNAMED$45"
			quid       	"3B84AD7900F2"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3B84AD7A014D"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$46"
				quid       	"3B84AD7A014E"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C")))
		    (object Association "$UNNAMED$47"
			quid       	"3B8B1BE900C4"
			roles      	(list role_list
			    (object Role "typeDefinition"
				quid       	"3B8B1BE90327"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$48"
				quid       	"3B8B1BE90331"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$49"
			quid       	"3B8B1C1203B2"
			roles      	(list role_list
			    (object Role "elementDeclaration"
				quid       	"3B8B1C14001C"
				label      	"elementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$50"
				quid       	"3B8B1C140026"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$51"
			quid       	"3B8B1DCC02E5"
			roles      	(list role_list
			    (object Role "eSchema"
				quid       	"3B8B1DCE0270"
				label      	"eSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$52"
				quid       	"3B8B1DCE027A"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$55"
			quid       	"3C46829303E5"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3C468296010E"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$56"
				quid       	"3C4682960118"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$59"
			quid       	"3CC3614500F2"
			roles      	(list role_list
			    (object Role "$UNNAMED$60"
				quid       	"3CC36146023D"
				supplier   	"Logical View::wsdl::XSDSchemaExtensibilityElement"
				quidu      	"3CC360D7039C"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "schema"
				quid       	"3CC36146023E"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$61"
			quid       	"3F74E78401B1"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3F74E786000F"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$62"
				quid       	"3F74E7860023"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")))
		    (object Association "$UNNAMED$63"
			quid       	"3F7896A2026E"
			roles      	(list role_list
			    (object Role "$UNNAMED$64"
				quid       	"3F7896A7012B"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "1")
				is_aggregate 	TRUE)
			    (object Role "children"
				quid       	"3F7896A7012C"
				label      	"children"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "2.7 Services"
			quid       	"39AD3EF60127"
			title      	"2.7 Services"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @1
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 800)
				label      	(object ItemLabel
				    Parent_View 	@1
				    location   	(1173, 660)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@1
				    location   	(1173, 610)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				compartment 	(object Compartment
				    Parent_View 	@1
				    location   	(1173, 715)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	471)
				width      	520
				height     	404
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPort" @2
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 528)
				label      	(object ItemLabel
				    Parent_View 	@2
				    location   	(686, 481)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IPort")
				stereotype 	(object ItemLabel
				    Parent_View 	@2
				    location   	(686, 431)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB800326"
				compartment 	(object Compartment
				    Parent_View 	@2
				    location   	(686, 536)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	275)
				width      	278
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IService" @3
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 160)
				label      	(object ItemLabel
				    Parent_View 	@3
				    location   	(126, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"IService")
				stereotype 	(object ItemLabel
				    Parent_View 	@3
				    location   	(126, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB490287"
				compartment 	(object Compartment
				    Parent_View 	@3
				    location   	(126, 145)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	237)
				width      	246
				height     	264
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @4
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 528)
				label      	(object ItemLabel
				    Parent_View 	@4
				    location   	(44, 432)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				compartment 	(object Compartment
				    Parent_View 	@4
				    location   	(44, 487)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	389)
				width      	410
				height     	214
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @5
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954E01B4"
				client     	@4
				supplier   	@3
				line_style 	3
				origin_attachment 	(240, 421)
				terminal_attachment 	(240, 292))
			    (object ClassView "Class" "Logical View::wsdl::Binding" @6
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1264)
				label      	(object ItemLabel
				    Parent_View 	@6
				    location   	(1244, 1168)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				compartment 	(object Compartment
				    Parent_View 	@6
				    location   	(1244, 1223)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	389)
				width      	410
				height     	214
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @7
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@6
				supplier   	@1
				line_style 	3
				origin_attachment 	(1430, 1157)
				terminal_attachment 	(1430, 1002))
			    (object ClassView "Class" "Logical View::wsdl::Port" @8
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 912)
				label      	(object ItemLabel
				    Parent_View 	@8
				    location   	(675, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	282
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				compartment 	(object Compartment
				    Parent_View 	@8
				    location   	(675, 895)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	303)
				width      	300
				height     	168
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @9
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954502C9"
				client     	@8
				supplier   	@2
				line_style 	3
				origin_attachment 	(809, 828)
				terminal_attachment 	(809, 637))
			    (object AssociationViewNew "$UNNAMED$9" @10
				location   	(321, 916)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9400393"
				roleview_list 	(list RoleViews
				    (object RoleView "ePorts" @11
					Parent_View 	@10
					location   	(-143, 644)
					label      	(object SegLabel @12
					    Parent_View 	@11
					    location   	(397, 945)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+ePorts"
					    pctDist    	0.218978
					    height     	29
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031C"
					client     	@10
					supplier   	@8
					line_style 	3
					origin_attachment 	(321, 916)
					terminal_attachment 	(666, 916)
					label      	(object SegLabel @13
					    Parent_View 	@11
					    location   	(530, 880)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	160
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.608000
					    height     	37
					    orientation 	0)
					label      	(object SegLabel @14
					    Parent_View 	@11
					    location   	(433, 990)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.328467
					    height     	74
					    orientation 	1))
				    (object RoleView "$UNNAMED$10" @15
					Parent_View 	@10
					location   	(-143, 644)
					label      	(object SegLabel @16
					    Parent_View 	@15
					    location   	(216, 704)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031D"
					client     	@10
					supplier   	@4
					vertices   	(list Points
					    (321, 916)
					    (257, 916)
					    (257, 635))
					line_style 	3
					origin_attachment 	(321, 916)
					terminal_attachment 	(257, 635)
					label      	(object SegLabel @17
					    Parent_View 	@15
					    location   	(301, 760)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.637097
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$11" @18
				location   	(886, 1270)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9B8011F"
				roleview_list 	(list RoleViews
				    (object RoleView "eBinding" @19
					Parent_View 	@18
					location   	(38, 422)
					label      	(object SegLabel @20
					    Parent_View 	@19
					    location   	(1112, 1235)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eBinding"
					    pctDist    	0.648571
					    height     	36
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B9024D"
					client     	@18
					supplier   	@6
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(1235, 1270)
					label      	(object SegLabel @21
					    Parent_View 	@19
					    location   	(1170, 1313)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.814286
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$12" @22
					Parent_View 	@18
					location   	(38, 422)
					label      	(object SegLabel @23
					    Parent_View 	@22
					    location   	(852, 1106)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	""
					    pctDist    	0.687943
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B90261"
					client     	@18
					supplier   	@8
					vertices   	(list Points
					    (886, 1270)
					    (812, 1270)
					    (812, 996))
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(812, 996))))))
		    (object ClassDiagram "2.5 Bindings"
			quid       	"39AD51270252"
			title      	"2.5 Bindings"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @24
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 240)
				label      	(object ItemLabel
				    Parent_View 	@24
				    location   	(73, 114)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@24
				    location   	(73, 64)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				compartment 	(object Compartment
				    Parent_View 	@24
				    location   	(73, 172)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	471)
				width      	480
				height     	376
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOperation" @25
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 352)
				label      	(object ItemLabel
				    Parent_View 	@25
				    location   	(780, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"IBindingOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@25
				    location   	(780, 80)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADC00072"
				compartment 	(object Compartment
				    Parent_View 	@25
				    location   	(780, 188)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	9
				    max_width  	396)
				width      	410
				height     	568
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingInput" @26
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1360)
				label      	(object ItemLabel
				    Parent_View 	@26
				    location   	(62, 1334)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IBindingInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@26
				    location   	(62, 1284)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADEB0100"
				width      	278
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOutput" @27
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1664)
				label      	(object ItemLabel
				    Parent_View 	@27
				    location   	(61, 1638)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"IBindingOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@27
				    location   	(61, 1588)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE210111"
				width      	312
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingFault" @28
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@28
				    location   	(72, 1958)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"IBindingFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@28
				    location   	(72, 1908)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE4F00BD"
				width      	290
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @29
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 624)
				label      	(object ItemLabel
				    Parent_View 	@29
				    location   	(1697, 522)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				compartment 	(object Compartment
				    Parent_View 	@29
				    location   	(1697, 580)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	411)
				width      	432
				height     	228
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @30
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1360)
				label      	(object ItemLabel
				    Parent_View 	@30
				    location   	(1756, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Output" @31
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1664)
				label      	(object ItemLabel
				    Parent_View 	@31
				    location   	(1756, 1587)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @32
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 688)
				label      	(object ItemLabel
				    Parent_View 	@32
				    location   	(97, 586)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				compartment 	(object Compartment
				    Parent_View 	@32
				    location   	(97, 644)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	411)
				width      	432
				height     	228
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @33
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@32
				supplier   	@24
				line_style 	3
				origin_attachment 	(279, 574)
				terminal_attachment 	(279, 428))
			    (object AssociationViewNew "$UNNAMED$3" @34
				location   	(1104, 742)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D352010F"
				roleview_list 	(list RoleViews
				    (object RoleView "ePortType" @35
					Parent_View 	@34
					location   	(640, 598)
					label      	(object SegLabel @36
					    Parent_View 	@35
					    location   	(1565, 781)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+ePortType"
					    pctDist    	0.789292
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540176"
					client     	@34
					supplier   	@29
					line_style 	3
					origin_attachment 	(1104, 742)
					terminal_attachment 	(1688, 742)
					label      	(object SegLabel @37
					    Parent_View 	@35
					    location   	(1613, 716)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.872193
					    height     	27
					    orientation 	0))
				    (object RoleView "$UNNAMED$4" @38
					Parent_View 	@34
					location   	(640, 598)
					label      	(object SegLabel @39
					    Parent_View 	@38
					    location   	(806, 697)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	""
					    pctDist    	0.509449
					    height     	46
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540180"
					client     	@34
					supplier   	@32
					line_style 	3
					origin_attachment 	(1104, 742)
					terminal_attachment 	(520, 742))))
			    (object ClassView "Class" "Logical View::wsdl::Operation" @40
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1024)
				label      	(object ItemLabel
				    Parent_View 	@40
				    location   	(1672, 898)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				compartment 	(object Compartment
				    Parent_View 	@40
				    location   	(1672, 956)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	430)
				width      	450
				height     	276
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @41
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 1408)
				label      	(object ItemLabel
				    Parent_View 	@41
				    location   	(476, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				compartment 	(object Compartment
				    Parent_View 	@41
				    location   	(476, 1341)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	303)
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$43" @42
				location   	(1264, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD2400BD"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @43
					Parent_View 	@42
					location   	(96, 287)
					label      	(object SegLabel @44
					    Parent_View 	@43
					    location   	(1637, 1316)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.775148
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250083"
					client     	@42
					supplier   	@30
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(1747, 1359)
					label      	(object SegLabel @45
					    Parent_View 	@43
					    location   	(1694, 1398)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.889546
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$44" @46
					Parent_View 	@42
					location   	(96, 287)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250084"
					client     	@42
					supplier   	@41
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(781, 1359))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @47
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 1664)
				label      	(object ItemLabel
				    Parent_View 	@47
				    location   	(812, 1539)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				compartment 	(object Compartment
				    Parent_View 	@47
				    location   	(812, 1597)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	303)
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$45" @48
				location   	(1432, 1654)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD7900F2"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @49
					Parent_View 	@48
					location   	(-120, 374)
					label      	(object SegLabel @50
					    Parent_View 	@49
					    location   	(1645, 1612)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.674772
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014D"
					client     	@48
					supplier   	@31
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1747, 1654)
					label      	(object SegLabel @51
					    Parent_View 	@49
					    location   	(1681, 1697)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.790274
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$46" @52
					Parent_View 	@48
					location   	(-120, 374)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014E"
					client     	@48
					supplier   	@47
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1117, 1654))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @53
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1008)
				label      	(object ItemLabel
				    Parent_View 	@53
				    location   	(819, 931)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				compartment 	(object Compartment
				    Parent_View 	@53
				    location   	(819, 989)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	303)
				width      	364
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @54
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84ADE401DC"
				client     	@53
				supplier   	@25
				line_style 	3
				origin_attachment 	(966, 919)
				terminal_attachment 	(966, 636))
			    (object AssociationViewNew "$UNNAMED$5" @55
				location   	(433, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D3E10179"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$6" @56
					Parent_View 	@55
					location   	(-1343, 494)
					label      	(object SegLabel @57
					    Parent_View 	@56
					    location   	(235, 877)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20225"
					client     	@55
					supplier   	@32
					vertices   	(list Points
					    (433, 1022)
					    (276, 1022)
					    (276, 802))
					line_style 	3
					origin_attachment 	(433, 1022)
					terminal_attachment 	(276, 802)
					label      	(object SegLabel @58
					    Parent_View 	@56
					    location   	(330, 841)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "eBindingOperations" @59
					Parent_View 	@55
					location   	(-1343, 494)
					label      	(object SegLabel @60
					    Parent_View 	@59
					    location   	(513, 977)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+eBindingOperations"
					    pctDist    	0.211699
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20239"
					client     	@55
					supplier   	@53
					line_style 	3
					origin_attachment 	(433, 1022)
					terminal_attachment 	(810, 1022)
					label      	(object SegLabel @61
					    Parent_View 	@59
					    location   	(766, 980)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.884956
					    height     	43
					    orientation 	0)
					label      	(object SegLabel @62
					    Parent_View 	@59
					    location   	(706, 1067)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.727564
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$7" @63
				location   	(1418, 1040)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D425038A"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperation" @64
					Parent_View 	@63
					location   	(-358, 464)
					label      	(object SegLabel @65
					    Parent_View 	@64
					    location   	(1520, 1079)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	228
					    justify    	0
					    label      	"+eOperation"
					    pctDist    	0.420601
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602F5"
					client     	@63
					supplier   	@40
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1663, 1040)
					label      	(object SegLabel @66
					    Parent_View 	@64
					    location   	(1589, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.696721
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$8" @67
					Parent_View 	@63
					location   	(-358, 464)
					label      	(object SegLabel @68
					    Parent_View 	@67
					    location   	(1273, 1070)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.595420
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602FF"
					client     	@63
					supplier   	@53
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1174, 1040))))
			    (object AssociationViewNew "$UNNAMED$23" @69
				location   	(787, 1190)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2E6401F5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingInput" @70
					Parent_View 	@69
					location   	(-381, 454)
					label      	(object SegLabel @71
					    Parent_View 	@70
					    location   	(669, 1152)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+eBindingInput"
					    pctDist    	0.511905
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650251"
					client     	@69
					supplier   	@41
					vertices   	(list Points
					    (787, 1190)
					    (636, 1190)
					    (636, 1271))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(636, 1271)
					label      	(object SegLabel @72
					    Parent_View 	@70
					    location   	(685, 1222)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.440476
					    height     	32
					    orientation 	0))
				    (object RoleView "$UNNAMED$24" @73
					Parent_View 	@69
					location   	(-381, 454)
					label      	(object SegLabel @74
					    Parent_View 	@73
					    location   	(885, 1144)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650252"
					client     	@69
					supplier   	@53
					vertices   	(list Points
					    (787, 1190)
					    (926, 1190)
					    (926, 1097))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(926, 1097)
					label      	(object SegLabel @75
					    Parent_View 	@73
					    location   	(871, 1136)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.837758
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$25" @76
				location   	(1024, 1312)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2EB30163"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingOutput" @77
					Parent_View 	@76
					location   	(-150, 578)
					label      	(object SegLabel @78
					    Parent_View 	@77
					    location   	(1012, 1429)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	306
					    justify    	0
					    label      	"+eBindingOutput"
					    pctDist    	0.545082
					    height     	13
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013C"
					client     	@76
					supplier   	@47
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1527)
					label      	(object SegLabel @79
					    Parent_View 	@77
					    location   	(967, 1479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.774590
					    height     	58
					    orientation 	1))
				    (object RoleView "$UNNAMED$26" @80
					Parent_View 	@76
					location   	(-150, 578)
					label      	(object SegLabel @81
					    Parent_View 	@80
					    location   	(983, 1140)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013D"
					client     	@76
					supplier   	@53
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1097)
					label      	(object SegLabel @82
					    Parent_View 	@80
					    location   	(1031, 1186)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.590164
					    height     	7
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Fault" @83
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1920, 1984)
				label      	(object ItemLabel
				    Parent_View 	@83
				    location   	(1772, 1907)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @84
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1984)
				label      	(object ItemLabel
				    Parent_View 	@84
				    location   	(1212, 1859)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				compartment 	(object Compartment
				    Parent_View 	@84
				    location   	(1212, 1917)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	303)
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @85
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE710333"
				client     	@84
				supplier   	@28
				line_style 	3
				origin_attachment 	(1203, 2007)
				terminal_attachment 	(353, 2007))
			    (object AssociationViewNew "$UNNAMED$33" @86
				location   	(1356, 1352)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF340003E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingFaults" @87
					Parent_View 	@86
					location   	(188, 616)
					label      	(object SegLabel @88
					    Parent_View 	@87
					    location   	(1382, 1750)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	300
					    justify    	0
					    label      	"+eBindingFaults"
					    pctDist    	0.803150
					    height     	26
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AA"
					client     	@86
					supplier   	@84
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1356, 1847)
					label      	(object SegLabel @89
					    Parent_View 	@87
					    location   	(1409, 1797)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899194
					    height     	53
					    orientation 	0)
					label      	(object SegLabel @90
					    Parent_View 	@87
					    location   	(1256, 1806)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.919291
					    height     	101
					    orientation 	1))
				    (object RoleView "$UNNAMED$34" @91
					Parent_View 	@86
					location   	(188, 616)
					label      	(object SegLabel @92
					    Parent_View 	@91
					    location   	(1076, 1197)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AB"
					client     	@86
					supplier   	@53
					vertices   	(list Points
					    (1356, 1352)
					    (1356, 1217)
					    (1117, 1217)
					    (1117, 1097))
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1117, 1097)
					label      	(object SegLabel @93
					    Parent_View 	@91
					    location   	(1152, 1164)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.687008
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$35" @94
				location   	(1640, 1970)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE091F402F3"
				roleview_list 	(list RoleViews
				    (object RoleView "eFault" @95
					Parent_View 	@94
					location   	(-344, 818)
					label      	(object SegLabel @96
					    Parent_View 	@95
					    location   	(1674, 1915)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eFault"
					    pctDist    	0.276423
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FE"
					client     	@94
					supplier   	@83
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1763, 1970)
					label      	(object SegLabel @97
					    Parent_View 	@95
					    location   	(1718, 2012)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.642276
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$36" @98
					Parent_View 	@94
					location   	(-344, 818)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FF"
					client     	@94
					supplier   	@84
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1517, 1970))))
			    (object InheritView "" @99
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE4302AB"
				client     	@47
				supplier   	@27
				line_style 	3
				origin_attachment 	(803, 1656)
				terminal_attachment 	(364, 1656))
			    (object InheritView "" @100
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE1B0113"
				client     	@41
				supplier   	@26
				line_style 	3
				origin_attachment 	(467, 1385)
				terminal_attachment 	(331, 1385))))
		    (object ClassDiagram "2.4 PortTypes"
			quid       	"3AD5D1C40366"
			title      	"2.4 PortTypes"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IPortType" @101
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 208)
				label      	(object ItemLabel
				    Parent_View 	@101
				    location   	(146, 172)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"IPortType")
				stereotype 	(object ItemLabel
				    Parent_View 	@101
				    location   	(146, 122)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A5BE0331"
				compartment 	(object Compartment
				    Parent_View 	@101
				    location   	(146, 233)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	696)
				width      	718
				height     	196
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::IOperation" @102
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 208)
				label      	(object ItemLabel
				    Parent_View 	@102
				    location   	(1116, 176)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"IOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@102
				    location   	(1116, 126)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A77600D1"
				compartment 	(object Compartment
				    Parent_View 	@102
				    location   	(1116, 237)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	709)
				width      	891
				height     	188
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IInput" @103
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1472)
				label      	(object ItemLabel
				    Parent_View 	@103
				    location   	(55, 1437)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@103
				    location   	(55, 1387)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A7EE0015"
				compartment 	(object Compartment
				    Parent_View 	@103
				    location   	(55, 1498)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	621)
				width      	644
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IOutput" @104
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 1792)
				label      	(object ItemLabel
				    Parent_View 	@104
				    location   	(56, 1757)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"IOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@104
				    location   	(56, 1707)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A829027D"
				compartment 	(object Compartment
				    Parent_View 	@104
				    location   	(56, 1818)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	656)
				width      	674
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IFault" @105
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 2112)
				label      	(object ItemLabel
				    Parent_View 	@105
				    location   	(55, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@105
				    location   	(55, 2026)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A861031D"
				compartment 	(object Compartment
				    Parent_View 	@105
				    location   	(55, 2137)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	625)
				width      	644
				height     	196
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @106
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 800)
				label      	(object ItemLabel
				    Parent_View 	@106
				    location   	(158, 672)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				compartment 	(object Compartment
				    Parent_View 	@106
				    location   	(158, 733)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	409)
				width      	695
				height     	281
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @107
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2576, 800)
				label      	(object ItemLabel
				    Parent_View 	@107
				    location   	(2325, 692)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				compartment 	(object Compartment
				    Parent_View 	@107
				    location   	(2325, 753)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	484)
				width      	520
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Fault" @108
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 2112)
				label      	(object ItemLabel
				    Parent_View 	@108
				    location   	(1647, 2060)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @109
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 1472)
				label      	(object ItemLabel
				    Parent_View 	@109
				    location   	(870, 1422)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	390
				height     	125
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Output" @110
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1792)
				label      	(object ItemLabel
				    Parent_View 	@110
				    location   	(1232, 1742)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	274
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Operation" @111
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 784)
				label      	(object ItemLabel
				    Parent_View 	@111
				    location   	(1214, 620)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				compartment 	(object Compartment
				    Parent_View 	@111
				    location   	(1214, 681)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	446)
				width      	695
				height     	352
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$0" @112
				location   	(1024, 797)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5C824018C"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperations" @113
					Parent_View 	@112
					location   	(592, 269)
					label      	(object SegLabel @114
					    Parent_View 	@113
					    location   	(1088, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+eOperations"
					    pctDist    	0.359649
					    height     	50
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701CD"
					client     	@112
					supplier   	@111
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(1205, 797)
					label      	(object SegLabel @115
					    Parent_View 	@113
					    location   	(1176, 861)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.840391
					    height     	64
					    orientation 	1)
					label      	(object SegLabel @116
					    Parent_View 	@113
					    location   	(1074, 923)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.276243
					    height     	126
					    orientation 	1))
				    (object RoleView "portType" @117
					Parent_View 	@112
					location   	(592, 269)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701C3"
					client     	@112
					supplier   	@106
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(843, 797)
					label      	(object SegLabel @118
					    Parent_View 	@117
					    location   	(888, 757)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.753488
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$41" @119
				location   	(2107, 773)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA412F0035"
				roleview_list 	(list RoleViews
				    (object RoleView "eParameterOrdering" @120
					Parent_View 	@119
					location   	(1819, 101)
					label      	(object SegLabel @121
					    Parent_View 	@120
					    location   	(2145, 647)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+eParameterOrdering"
					    pctDist    	0.183333
					    height     	127
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA41310255"
					client     	@119
					supplier   	@107
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(2316, 773)
					label      	(object SegLabel @122
					    Parent_View 	@120
					    location   	(2272, 822)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.796610
					    height     	49
					    orientation 	1)
					label      	(object SegLabel @123
					    Parent_View 	@120
					    location   	(2171, 888)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.306220
					    height     	115
					    orientation 	1))
				    (object RoleView "$UNNAMED$42" @124
					Parent_View 	@119
					location   	(1819, 101)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA4131025F"
					client     	@119
					supplier   	@111
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(1899, 773))))
			    (object AssociationViewNew "$UNNAMED$31" @125
				location   	(1702, 1504)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF331601A4"
				roleview_list 	(list RoleViews
				    (object RoleView "eFaults" @126
					Parent_View 	@125
					location   	(1414, 832)
					label      	(object SegLabel @127
					    Parent_View 	@126
					    location   	(1815, 1982)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eFaults"
					    pctDist    	0.878992
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180387"
					client     	@125
					supplier   	@108
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 2048)
					label      	(object SegLabel @128
					    Parent_View 	@126
					    location   	(1644, 2020)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.949580
					    height     	59
					    orientation 	1)
					label      	(object SegLabel @129
					    Parent_View 	@126
					    location   	(1593, 1963)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.845378
					    height     	110
					    orientation 	1))
				    (object RoleView "$UNNAMED$32" @130
					Parent_View 	@125
					location   	(1414, 832)
					label      	(object SegLabel @131
					    Parent_View 	@130
					    location   	(1661, 1069)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180388"
					client     	@125
					supplier   	@111
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 960)
					label      	(object SegLabel @132
					    Parent_View 	@130
					    location   	(1821, 1039)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.857362
					    height     	119
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$27" @133
				location   	(1178, 1234)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2F94024D"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @134
					Parent_View 	@133
					location   	(890, 562)
					label      	(object SegLabel @135
					    Parent_View 	@134
					    location   	(878, 1343)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.819820
					    height     	103
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F950190"
					client     	@133
					supplier   	@109
					vertices   	(list Points
					    (1178, 1234)
					    (980, 1234)
					    (980, 1410))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(980, 1410)
					label      	(object SegLabel @136
					    Parent_View 	@134
					    location   	(1046, 1364)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.877660
					    height     	66
					    orientation 	0))
				    (object RoleView "$UNNAMED$28" @137
					Parent_View 	@133
					location   	(890, 562)
					label      	(object SegLabel @138
					    Parent_View 	@137
					    location   	(1236, 1036)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F95019A"
					client     	@133
					supplier   	@111
					vertices   	(list Points
					    (1178, 1234)
					    (1277, 1234)
					    (1277, 960))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(1277, 960)
					label      	(object SegLabel @139
					    Parent_View 	@137
					    location   	(1197, 1058)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736413
					    height     	81
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$29" @140
				location   	(1468, 1345)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2FB802F9"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @141
					Parent_View 	@140
					location   	(1180, 673)
					label      	(object SegLabel @142
					    Parent_View 	@141
					    location   	(1362, 1669)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.840909
					    height     	107
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020A"
					client     	@140
					supplier   	@110
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 1730)
					label      	(object SegLabel @143
					    Parent_View 	@141
					    location   	(1546, 1676)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863636
					    height     	78
					    orientation 	0))
				    (object RoleView "$UNNAMED$30" @144
					Parent_View 	@140
					location   	(1180, 673)
					label      	(object SegLabel @145
					    Parent_View 	@144
					    location   	(1427, 1037)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020B"
					client     	@140
					supplier   	@111
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 960)
					label      	(object SegLabel @146
					    Parent_View 	@144
					    location   	(1523, 1080)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.690341
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @147
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FD8019F"
				client     	@106
				supplier   	@101
				line_style 	0)
			    (object InheritView "" @148
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FE20171"
				client     	@111
				supplier   	@102
				line_style 	0)
			    (object InheritView "" @149
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FEE031D"
				client     	@109
				supplier   	@103
				line_style 	0)
			    (object InheritView "" @150
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FF801CD"
				client     	@110
				supplier   	@104
				line_style 	0)
			    (object InheritView "" @151
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F2002002D"
				client     	@108
				supplier   	@105
				line_style 	0)
			    (object ClassView "Class" "Logical View::wsdl::Message" @152
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2224, 1456)
				label      	(object ItemLabel
				    Parent_View 	@152
				    location   	(1937, 1312)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	575
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				compartment 	(object Compartment
				    Parent_View 	@152
				    location   	(1937, 1371)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	425)
				width      	593
				height     	312
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::MessageReference" @153
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1520, 2544)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@153
				    location   	(1193, 2466)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	654
				    justify    	0
				    label      	"MessageReference")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3F6771DB02DC"
				compartment 	(object Compartment
				    Parent_View 	@153
				    location   	(1193, 2527)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	303)
				width      	672
				height     	180
				annotation 	8)
			    (object InheritTreeView "" @154
				location   	(1524, 2275)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@153
				vertices   	(list Points
				    (1524, 2275)
				    (1524, 2454)))
			    (object InheritView "" @155
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723D0319"
				client     	@108
				supplier   	@153
				line_style 	3
				origin_attachment 	(1776, 2176)
				terminal_attachment 	(1776, 2275)
				drawSupplier 	@154)
			    (object InheritView "" @156
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723500DD"
				client     	@110
				supplier   	@153
				line_style 	3
				origin_attachment 	(1371, 1854)
				terminal_attachment 	(1371, 2275)
				drawSupplier 	@154)
			    (object InheritView "" @157
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67722802E7"
				client     	@109
				supplier   	@153
				line_style 	3
				origin_attachment 	(980, 1534)
				terminal_attachment 	(980, 2275)
				drawSupplier 	@154)
			    (object AssociationViewNew "$UNNAMED$61" @158
				location   	(2206, 2259)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F74E78401B1"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @159
					Parent_View 	@158
					location   	(734, -285)
					label      	(object SegLabel @160
					    Parent_View 	@159
					    location   	(2068, 1670)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.912230
					    height     	139
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E786000F"
					client     	@158
					supplier   	@152
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(2206, 1612)
					label      	(object SegLabel @161
					    Parent_View 	@159
					    location   	(2260, 1678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$62" @162
					Parent_View 	@158
					location   	(734, -285)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E7860023"
					client     	@158
					supplier   	@153
					vertices   	(list Points
					    (2206, 2259)
					    (2206, 2556)
					    (1856, 2556))
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(1856, 2556))))))
		    (object ClassDiagram "2.1 Definitions"
			quid       	"3AD5E48A0262"
			title      	"2.1 Definitions"
			zoom       	83
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IDefinition" @163
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 192)
				label      	(object ItemLabel
				    Parent_View 	@163
				    location   	(88, 161)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"IDefinition")
				stereotype 	(object ItemLabel
				    Parent_View 	@163
				    location   	(88, 111)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B1D90142"
				compartment 	(object Compartment
				    Parent_View 	@163
				    location   	(88, 220)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	700)
				width      	706
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @164
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				label      	(object ItemLabel
				    Parent_View 	@164
				    location   	(1686, 896)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	294
				height     	120
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Import" @165
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 624)
				label      	(object ItemLabel
				    Parent_View 	@165
				    location   	(1910, 545)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				compartment 	(object Compartment
				    Parent_View 	@165
				    location   	(1910, 604)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	478)
				width      	486
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @166
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2112, 1184)
				label      	(object ItemLabel
				    Parent_View 	@166
				    location   	(1900, 1105)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				compartment 	(object Compartment
				    Parent_View 	@166
				    location   	(1900, 1164)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	422)
				width      	442
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @167
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1808, 1488)
				label      	(object ItemLabel
				    Parent_View 	@167
				    location   	(1596, 1409)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				compartment 	(object Compartment
				    Parent_View 	@167
				    location   	(1596, 1468)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	422)
				width      	442
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @168
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2336, 1728)
				label      	(object ItemLabel
				    Parent_View 	@168
				    location   	(2124, 1649)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				compartment 	(object Compartment
				    Parent_View 	@168
				    location   	(2124, 1708)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	422)
				width      	442
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @169
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 240)
				label      	(object ItemLabel
				    Parent_View 	@169
				    location   	(1073, 39)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	510
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				compartment 	(object Compartment
				    Parent_View 	@169
				    location   	(1073, 98)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	7
				    max_width  	521)
				width      	528
				height     	426
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @170
				location   	(1358, 860)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$54" @171
					Parent_View 	@170
					location   	(62, -36)
					label      	(object SegLabel @172
					    Parent_View 	@171
					    location   	(1317, 535)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@170
					supplier   	@169
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1358, 453)
					label      	(object SegLabel @173
					    Parent_View 	@171
					    location   	(1403, 511)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.856649
					    height     	45
					    orientation 	1))
				    (object RoleView "eTypes" @174
					Parent_View 	@170
					location   	(62, -36)
					label      	(object SegLabel @175
					    Parent_View 	@174
					    location   	(1586, 909)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.779097
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@170
					supplier   	@164
					vertices   	(list Points
					    (1358, 860)
					    (1358, 948)
					    (1677, 948))
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1677, 948)
					label      	(object SegLabel @176
					    Parent_View 	@174
					    location   	(1632, 987)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.892655
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$57" @177
				location   	(1612, 595)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @178
					Parent_View 	@177
					location   	(12, 227)
					label      	(object SegLabel @179
					    Parent_View 	@178
					    location   	(1423, 512)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02EE"
					client     	@177
					supplier   	@169
					vertices   	(list Points
					    (1612, 595)
					    (1464, 595)
					    (1464, 453))
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1464, 453)
					label      	(object SegLabel @180
					    Parent_View 	@178
					    location   	(1524, 495)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.858667
					    height     	60
					    orientation 	1))
				    (object RoleView "eImports" @181
					Parent_View 	@177
					location   	(12, 227)
					label      	(object SegLabel @182
					    Parent_View 	@181
					    location   	(1692, 557)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.280335
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@177
					supplier   	@165
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1901, 595)
					label      	(object SegLabel @183
					    Parent_View 	@181
					    location   	(1854, 652)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.841004
					    height     	57
					    orientation 	1)
					label      	(object SegLabel @184
					    Parent_View 	@181
					    location   	(1676, 646)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.225941
					    height     	51
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$13" @185
				location   	(1279, 1136)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E60301E2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$14" @186
					Parent_View 	@185
					location   	(271, 272)
					label      	(object SegLabel @187
					    Parent_View 	@186
					    location   	(1238, 591)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400B7"
					client     	@185
					supplier   	@169
					line_style 	3
					origin_attachment 	(1279, 1136)
					terminal_attachment 	(1279, 453)
					label      	(object SegLabel @188
					    Parent_View 	@186
					    location   	(1320, 587)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.804974
					    height     	41
					    orientation 	1))
				    (object RoleView "eMessages" @189
					Parent_View 	@185
					location   	(271, 272)
					label      	(object SegLabel @190
					    Parent_View 	@189
					    location   	(1647, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+eMessages"
					    pctDist    	0.643137
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400C1"
					client     	@185
					supplier   	@166
					vertices   	(list Points
					    (1279, 1136)
					    (1279, 1208)
					    (1891, 1208))
					line_style 	3
					origin_attachment 	(1279, 1136)
					terminal_attachment 	(1891, 1208)
					label      	(object SegLabel @191
					    Parent_View 	@189
					    location   	(1821, 1171)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899346
					    height     	38
					    orientation 	0)
					label      	(object SegLabel @192
					    Parent_View 	@189
					    location   	(1797, 1244)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.864407
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$15" @193
				location   	(1212, 1159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6710104"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$16" @194
					Parent_View 	@193
					location   	(-324, 215)
					label      	(object SegLabel @195
					    Parent_View 	@194
					    location   	(1171, 594)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E672034A"
					client     	@193
					supplier   	@169
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1212, 453)
					label      	(object SegLabel @196
					    Parent_View 	@194
					    location   	(1251, 624)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.757962
					    height     	39
					    orientation 	1))
				    (object RoleView "ePortTypes" @197
					Parent_View 	@193
					location   	(-324, 215)
					label      	(object SegLabel @198
					    Parent_View 	@197
					    location   	(1391, 1451)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+ePortTypes"
					    pctDist    	0.723698
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6720354"
					client     	@193
					supplier   	@167
					vertices   	(list Points
					    (1212, 1159)
					    (1212, 1490)
					    (1587, 1490))
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1587, 1490)
					label      	(object SegLabel @199
					    Parent_View 	@197
					    location   	(1533, 1451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.925611
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @200
					    Parent_View 	@197
					    location   	(1512, 1540)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.895855
					    height     	50
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$17" @201
				location   	(1114, 1585)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6770095"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$18" @202
					Parent_View 	@201
					location   	(-406, 241)
					label      	(object SegLabel @203
					    Parent_View 	@202
					    location   	(1073, 680)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6780371"
					client     	@201
					supplier   	@169
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(1114, 453)
					label      	(object SegLabel @204
					    Parent_View 	@202
					    location   	(1155, 752)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736704
					    height     	41
					    orientation 	1))
				    (object RoleView "eBindings" @205
					Parent_View 	@201
					location   	(-406, 241)
					label      	(object SegLabel @206
					    Parent_View 	@205
					    location   	(1851, 1674)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eBindings"
					    pctDist    	0.766347
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E678037B"
					client     	@201
					supplier   	@168
					vertices   	(list Points
					    (1114, 1585)
					    (1114, 1716)
					    (2115, 1716))
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(2115, 1716)
					label      	(object SegLabel @207
					    Parent_View 	@205
					    location   	(2053, 1677)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.945074
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @208
					    Parent_View 	@205
					    location   	(2014, 1754)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.911072
					    height     	38
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Service" @209
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@209
				    location   	(1628, 1969)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				compartment 	(object Compartment
				    Parent_View 	@209
				    location   	(1628, 2028)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	422)
				width      	442
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$19" @210
				location   	(1066, 1532)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E67B0311"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$20" @211
					Parent_View 	@210
					location   	(-521, -112)
					label      	(object SegLabel @212
					    Parent_View 	@211
					    location   	(1025, 670)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D007F"
					client     	@210
					supplier   	@169
					line_style 	3
					origin_attachment 	(1066, 1532)
					terminal_attachment 	(1066, 453)
					label      	(object SegLabel @213
					    Parent_View 	@211
					    location   	(1109, 756)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.719697
					    height     	43
					    orientation 	1))
				    (object RoleView "eServices" @214
					Parent_View 	@210
					location   	(-521, -112)
					label      	(object SegLabel @215
					    Parent_View 	@214
					    location   	(1393, 2028)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eServices"
					    pctDist    	0.791824
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D0089"
					client     	@210
					supplier   	@209
					vertices   	(list Points
					    (1066, 1532)
					    (1066, 2059)
					    (1619, 2059))
					line_style 	3
					origin_attachment 	(1066, 1532)
					terminal_attachment 	(1619, 2059)
					label      	(object SegLabel @216
					    Parent_View 	@214
					    location   	(1554, 2031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.940197
					    height     	29
					    orientation 	0)
					label      	(object SegLabel @217
					    Parent_View 	@214
					    location   	(1532, 2113)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.920515
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @218
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B1F80382"
				client     	@169
				supplier   	@163
				line_style 	3
				origin_attachment 	(1064, 263)
				terminal_attachment 	(785, 263))))
		    (object ClassDiagram "2.1.3 Extensibility"
			quid       	"3AD60C510192"
			title      	"2.1.3 Extensibility"
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::Binding" @219
				ShowCompartmentStereotypes 	TRUE
				location   	(576, 1584)
				label      	(object ItemLabel
				    Parent_View 	@219
				    location   	(494, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	164
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	182
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Port" @220
				ShowCompartmentStereotypes 	TRUE
				location   	(1568, 1888)
				label      	(object ItemLabel
				    Parent_View 	@220
				    location   	(1487, 1836)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @221
				ShowCompartmentStereotypes 	TRUE
				location   	(1424, 1728)
				label      	(object ItemLabel
				    Parent_View 	@221
				    location   	(1343, 1675)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @222
				ShowCompartmentStereotypes 	TRUE
				location   	(1216, 2336)
				label      	(object ItemLabel
				    Parent_View 	@222
				    location   	(1088, 2283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @223
				ShowCompartmentStereotypes 	TRUE
				location   	(736, 1760)
				label      	(object ItemLabel
				    Parent_View 	@223
				    location   	(563, 1707)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				width      	364
				height     	130
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @224
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 160)
				label      	(object ItemLabel
				    Parent_View 	@224
				    location   	(1495, 136)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"IExtensibilityElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@224
				    location   	(1495, 86)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B12402AB"
				width      	804
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @225
				ShowCompartmentStereotypes 	TRUE
				location   	(928, 1952)
				label      	(object ItemLabel
				    Parent_View 	@225
				    location   	(800, 1899)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @226
				ShowCompartmentStereotypes 	TRUE
				location   	(1008, 2144)
				label      	(object ItemLabel
				    Parent_View 	@226
				    location   	(863, 2091)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	290
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				width      	308
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @227
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 1296)
				label      	(object ItemLabel
				    Parent_View 	@227
				    location   	(74, 1235)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	146
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @228
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(416, 1408)
				label      	(object ItemLabel
				    Parent_View 	@228
				    location   	(335, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @229
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(480, 688)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@229
				    location   	(209, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	542
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				compartment 	(object Compartment
				    Parent_View 	@229
				    location   	(209, 641)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	531)
				width      	560
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @230
				location   	(480, 1039)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@229
				vertices   	(list Points
				    (480, 1039)
				    (480, 808)))
			    (object InheritView "" @231
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD600CB00AA"
				client     	@220
				supplier   	@229
				line_style 	3
				origin_attachment 	(1566, 1824)
				terminal_attachment 	(1566, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @232
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B5A4027E"
				client     	@226
				supplier   	@229
				line_style 	3
				origin_attachment 	(1097, 2079)
				terminal_attachment 	(1097, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @233
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE0938602C9"
				client     	@222
				supplier   	@229
				line_style 	3
				origin_attachment 	(1219, 2271)
				terminal_attachment 	(1219, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @234
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B59B0072"
				client     	@225
				supplier   	@229
				line_style 	3
				origin_attachment 	(988, 1887)
				terminal_attachment 	(988, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @235
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD6009202F7"
				client     	@223
				supplier   	@229
				line_style 	3
				origin_attachment 	(797, 1695)
				terminal_attachment 	(797, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @236
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA0F02F0"
				client     	@219
				supplier   	@229
				line_style 	3
				origin_attachment 	(601, 1519)
				terminal_attachment 	(601, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @237
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FDB803D4"
				client     	@227
				supplier   	@229
				line_style 	3
				origin_attachment 	(211, 1223)
				terminal_attachment 	(211, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @238
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@228
				supplier   	@229
				line_style 	3
				origin_attachment 	(414, 1344)
				terminal_attachment 	(414, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @239
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA20025E"
				client     	@221
				supplier   	@229
				line_style 	3
				origin_attachment 	(1429, 1663)
				terminal_attachment 	(1429, 1039)
				drawSupplier 	@230)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @240
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 688)
				label      	(object ItemLabel
				    Parent_View 	@240
				    location   	(1632, 583)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	545
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				compartment 	(object Compartment
				    Parent_View 	@240
				    location   	(1632, 644)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	465)
				width      	563
				height     	234
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @241
				location   	(1191, 672)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @242
					Parent_View 	@241
					location   	(23, 560)
					label      	(object SegLabel @243
					    Parent_View 	@242
					    location   	(847, 631)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019E"
					client     	@241
					supplier   	@229
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(760, 672)
					label      	(object SegLabel @244
					    Parent_View 	@242
					    location   	(830, 628)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.839695
					    height     	45
					    orientation 	1))
				    (object RoleView "eExtensibilityElements" @245
					Parent_View 	@241
					location   	(23, 560)
					label      	(object SegLabel @246
					    Parent_View 	@245
					    location   	(1355, 522)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	0.379070
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@241
					supplier   	@240
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(1623, 672)
					label      	(object SegLabel @247
					    Parent_View 	@245
					    location   	(1496, 627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.709402
					    height     	46
					    orientation 	0)
					label      	(object SegLabel @248
					    Parent_View 	@245
					    location   	(1463, 764)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.632479
					    height     	92
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::WSDLElement" @249
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1008, 192)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@249
				    location   	(630, 84)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	756
				    justify    	0
				    label      	"WSDLElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C6A302DD"
				compartment 	(object Compartment
				    Parent_View 	@249
				    location   	(630, 145)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	753)
				width      	774
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @250
				location   	(1008, 402)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@249
				vertices   	(list Points
				    (1008, 402)
				    (1008, 312)))
			    (object InheritView "" @251
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FE3C03D4"
				client     	@229
				supplier   	@249
				line_style 	3
				origin_attachment 	(492, 568)
				terminal_attachment 	(492, 402)
				drawSupplier 	@250)
			    (object InheritView "" @252
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B14903D0"
				client     	@240
				supplier   	@224
				line_style 	3
				origin_attachment 	(2015, 571)
				terminal_attachment 	(2015, 246))
			    (object InheritView "" @253
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BDDF53502C3"
				client     	@240
				supplier   	@249
				line_style 	3
				origin_attachment 	(1762, 571)
				terminal_attachment 	(1762, 402)
				drawSupplier 	@250)
			    (object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @254
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 1408)
				label      	(object ItemLabel
				    Parent_View 	@254
				    location   	(1729, 1303)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	927
				    justify    	0
				    label      	"UnknownExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CB24AC002AE"
				width      	945
				height     	235
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @255
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CB24AEC01CB"
				client     	@254
				supplier   	@240
				line_style 	3
				origin_attachment 	(1796, 1291)
				terminal_attachment 	(1796, 805))
			    (object AssociationViewNew "$UNNAMED$63" @256
				location   	(2639, 1734)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F7896A2026E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$64" @257
					Parent_View 	@256
					location   	(607, 342)
					label      	(object SegLabel @258
					    Parent_View 	@257
					    location   	(2797, 1380)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012B"
					client     	@256
					supplier   	@254
					vertices   	(list Points
					    (2639, 1734)
					    (2824, 1734)
					    (2824, 1421)
					    (2664, 1421))
					line_style 	3
					origin_attachment 	(2639, 1734)
					terminal_attachment 	(2664, 1421)
					label      	(object SegLabel @259
					    Parent_View 	@257
					    location   	(2731, 1475)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "children" @260
					Parent_View 	@256
					location   	(607, 342)
					label      	(object SegLabel @261
					    Parent_View 	@260
					    location   	(2074, 1658)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+children"
					    pctDist    	0.798561
					    height     	118
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012C"
					client     	@256
					supplier   	@254
					vertices   	(list Points
					    (2639, 1734)
					    (2191, 1734)
					    (2191, 1525))
					line_style 	3
					origin_attachment 	(2639, 1734)
					terminal_attachment 	(2191, 1525)
					label      	(object SegLabel @262
					    Parent_View 	@260
					    location   	(2245, 1591)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "2.1.1 Naming and Linking"
			quid       	"3AE8ED7201BD"
			title      	"2.1.1 Naming and Linking"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IImport" @263
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 224)
				label      	(object ItemLabel
				    Parent_View 	@263
				    location   	(1422, 177)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"IImport")
				stereotype 	(object ItemLabel
				    Parent_View 	@263
				    location   	(1422, 127)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B2020119"
				compartment 	(object Compartment
				    Parent_View 	@263
				    location   	(1422, 232)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	646)
				width      	598
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Namespace" @264
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 1136)
				label      	(object ItemLabel
				    Parent_View 	@264
				    location   	(202, 1041)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	461
				    justify    	0
				    label      	"Namespace")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AEA3CD30030"
				compartment 	(object Compartment
				    Parent_View 	@264
				    location   	(202, 1096)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	300)
				width      	479
				height     	215
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @265
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1216)
				label      	(object ItemLabel
				    Parent_View 	@265
				    location   	(1294, 1142)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	694
				height     	173
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @266
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(400, 384)
				label      	(object ItemLabel
				    Parent_View 	@266
				    location   	(164, 236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				compartment 	(object Compartment
				    Parent_View 	@266
				    location   	(164, 291)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	521)
				width      	490
				height     	320
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$37" @267
				location   	(309, 786)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3D55002D"
				roleview_list 	(list RoleViews
				    (object RoleView "eNamespaces" @268
					Parent_View 	@267
					location   	(-91, 258)
					label      	(object SegLabel @269
					    Parent_View 	@268
					    location   	(461, 956)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+eNamespaces"
					    pctDist    	0.698842
					    height     	152
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560332"
					client     	@267
					supplier   	@264
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 1029)
					label      	(object SegLabel @270
					    Parent_View 	@268
					    location   	(248, 973)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.768707
					    height     	62
					    orientation 	1)
					label      	(object SegLabel @271
					    Parent_View 	@268
					    location   	(228, 913)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.525097
					    height     	82
					    orientation 	1))
				    (object RoleView "$UNNAMED$38" @272
					Parent_View 	@267
					location   	(-91, 258)
					label      	(object SegLabel @273
					    Parent_View 	@272
					    location   	(268, 592)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560328"
					client     	@267
					supplier   	@266
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 544)
					label      	(object SegLabel @274
					    Parent_View 	@272
					    location   	(239, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.844961
					    height     	71
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::wsdl::Import" @275
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1472, 720)
				label      	(object ItemLabel
				    Parent_View 	@275
				    location   	(1255, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	434
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				compartment 	(object Compartment
				    Parent_View 	@275
				    location   	(1255, 635)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	478)
				width      	452
				height     	304
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$51" @276
				location   	(1486, 1001)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1DCC02E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eSchema" @277
					Parent_View 	@276
					location   	(510, -103)
					label      	(object SegLabel @278
					    Parent_View 	@277
					    location   	(1737, 1018)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eSchema"
					    pctDist    	0.592593
					    height     	105
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE0270"
					client     	@276
					supplier   	@265
					vertices   	(list Points
					    (1486, 1001)
					    (1632, 1001)
					    (1632, 1130))
					line_style 	3
					origin_attachment 	(1486, 1001)
					terminal_attachment 	(1632, 1130)
					label      	(object SegLabel @279
					    Parent_View 	@277
					    location   	(1563, 1018)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.592593
					    height     	70
					    orientation 	1))
				    (object RoleView "$UNNAMED$52" @280
					Parent_View 	@276
					location   	(510, -103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE027A"
					client     	@276
					supplier   	@275
					line_style 	3
					origin_attachment 	(1486, 872)
					terminal_attachment 	(1486, 872))))
			    (object AssociationViewNew "$UNNAMED$39" @281
				location   	(1087, 403)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3E3A002D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$40" @282
					Parent_View 	@281
					location   	(687, -125)
					label      	(object SegLabel @283
					    Parent_View 	@282
					    location   	(1406, 480)
					    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      	"3AEA3E3C01F2"
					client     	@281
					supplier   	@275
					vertices   	(list Points
					    (1087, 403)
					    (1364, 403)
					    (1364, 568))
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(1364, 568))
				    (object RoleView "eDefinition" @284
					Parent_View 	@281
					location   	(687, -125)
					label      	(object SegLabel @285
					    Parent_View 	@284
					    location   	(805, 363)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eDefinition"
					    pctDist    	0.637532
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3E3C01E8"
					client     	@281
					supplier   	@266
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(645, 403)
					label      	(object SegLabel @286
					    Parent_View 	@284
					    location   	(727, 456)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.814910
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$57" @287
				location   	(737, 826)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @288
					Parent_View 	@287
					location   	(-671, 106)
					label      	(object SegLabel @289
					    Parent_View 	@288
					    location   	(552, 647)
					    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      	"3C864DFF02EE"
					client     	@287
					supplier   	@266
					vertices   	(list Points
					    (737, 826)
					    (510, 826)
					    (510, 544))
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(510, 544)
					label      	(object SegLabel @290
					    Parent_View 	@288
					    location   	(457, 595)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "eImports" @291
					Parent_View 	@287
					location   	(-671, 106)
					label      	(object SegLabel @292
					    Parent_View 	@291
					    location   	(1144, 773)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.799189
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@287
					supplier   	@275
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(1246, 826)
					label      	(object SegLabel @293
					    Parent_View 	@291
					    location   	(1180, 879)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.872211
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @294
					    Parent_View 	@291
					    location   	(1162, 933)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.837728
					    height     	107
					    orientation 	1))))
			    (object InheritView "" @295
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F200D0340"
				client     	@275
				supplier   	@263
				line_style 	3
				origin_attachment 	(1555, 568)
				terminal_attachment 	(1555, 333))))
		    (object ClassDiagram "2.2 Types"
			quid       	"3B85AE59037E"
			title      	"2.2 Types"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	81
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @296
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@296
				    location   	(895, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ECD302A9"
				width      	500
				height     	174
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @297
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1600)
				label      	(object ItemLabel
				    Parent_View 	@297
				    location   	(906, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	478
				height     	162
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @298
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1968)
				label      	(object ItemLabel
				    Parent_View 	@298
				    location   	(1022, 1828)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	517
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				compartment 	(object Compartment
				    Parent_View 	@298
				    location   	(1022, 1900)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	30)
				width      	535
				height     	305
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Part" @299
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1184)
				label      	(object ItemLabel
				    Parent_View 	@299
				    location   	(128, 1067)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	448
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	466
				height     	258
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$47" @300
				location   	(735, 1172)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1BE900C4"
				roleview_list 	(list RoleViews
				    (object RoleView "typeDefinition" @301
					Parent_View 	@300
					location   	(143, 676)
					label      	(object SegLabel @302
					    Parent_View 	@301
					    location   	(775, 1133)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.269006
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90327"
					client     	@300
					supplier   	@296
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(886, 1172)
					label      	(object SegLabel @303
					    Parent_View 	@301
					    location   	(839, 1207)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.688705
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$48" @304
					Parent_View 	@300
					location   	(143, 676)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90331"
					client     	@300
					supplier   	@299
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(585, 1172))))
			    (object AssociationViewNew "$UNNAMED$49" @305
				location   	(527, 1592)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1C1203B2"
				roleview_list 	(list RoleViews
				    (object RoleView "elementDeclaration" @306
					Parent_View 	@305
					location   	(-65, 1096)
					label      	(object SegLabel @307
					    Parent_View 	@306
					    location   	(666, 1554)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+elementDeclaration"
					    pctDist    	0.375394
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C14001C"
					client     	@305
					supplier   	@297
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(897, 1592)
					label      	(object SegLabel @308
					    Parent_View 	@306
					    location   	(807, 1645)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.755877
					    height     	53
					    orientation 	1))
				    (object RoleView "$UNNAMED$50" @309
					Parent_View 	@305
					location   	(-65, 1096)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C140026"
					client     	@305
					supplier   	@299
					vertices   	(list Points
					    (527, 1592)
					    (437, 1592)
					    (437, 1313))
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(437, 1313))))
			    (object AssociationViewNew "$UNNAMED$55" @310
				location   	(322, 1911)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C46829303E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @311
					Parent_View 	@310
					location   	(-14, 1191)
					label      	(object SegLabel @312
					    Parent_View 	@311
					    location   	(838, 1872)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.748560
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C468296010E"
					client     	@310
					supplier   	@298
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(1013, 1911)
					label      	(object SegLabel @313
					    Parent_View 	@311
					    location   	(943, 1965)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$56" @314
					Parent_View 	@310
					location   	(-14, 1191)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C4682960118"
					client     	@310
					supplier   	@299
					vertices   	(list Points
					    (322, 1911)
					    (229, 1911)
					    (229, 1313))
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(229, 1313))))
			    (object ClassView "Class" "Logical View::wsdl::Types" @315
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 608)
				label      	(object ItemLabel
				    Parent_View 	@315
				    location   	(615, 512)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	371
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	389
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @316
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 160)
				label      	(object ItemLabel
				    Parent_View 	@316
				    location   	(74, 107)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @317
				location   	(234, 604)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "eTypes" @318
					Parent_View 	@317
					location   	(-150, 396)
					label      	(object SegLabel @319
					    Parent_View 	@318
					    location   	(480, 640)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	207
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.661017
					    height     	36
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@317
					supplier   	@315
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(606, 604)
					label      	(object SegLabel @320
					    Parent_View 	@318
					    location   	(526, 569)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783883
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$54" @321
					Parent_View 	@317
					location   	(-150, 396)
					label      	(object SegLabel @322
					    Parent_View 	@321
					    location   	(133, 313)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@317
					supplier   	@316
					vertices   	(list Points
					    (234, 604)
					    (174, 604)
					    (174, 225))
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(174, 225)
					label      	(object SegLabel @323
					    Parent_View 	@321
					    location   	(228, 271)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.897729
					    height     	54
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::ITypes" @324
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 224)
				label      	(object ItemLabel
				    Parent_View 	@324
				    location   	(525, 203)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"ITypes")
				stereotype 	(object ItemLabel
				    Parent_View 	@324
				    location   	(525, 153)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CADCBB20050"
				width      	248
				height     	166
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::XSDSchemaExtensibilityElement" @325
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 800)
				label      	(object ItemLabel
				    Parent_View 	@325
				    location   	(1359, 753)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	739
				    justify    	0
				    label      	"XSDSchemaExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CC360D7039C"
				width      	757
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @326
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1216)
				label      	(object ItemLabel
				    Parent_View 	@326
				    location   	(1529, 1103)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	655
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	673
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$59" @327
				location   	(1826, 975)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3614500F2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$60" @328
					Parent_View 	@327
					location   	(306, 447)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023D"
					client     	@327
					supplier   	@325
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 859)
					label      	(object SegLabel @329
					    Parent_View 	@328
					    location   	(1774, 900)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.656489
					    height     	53
					    orientation 	0))
				    (object RoleView "schema" @330
					Parent_View 	@327
					location   	(306, 447)
					label      	(object SegLabel @331
					    Parent_View 	@330
					    location   	(2006, 1033)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	0.507576
					    height     	180
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023E"
					client     	@327
					supplier   	@326
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 1091)
					label      	(object SegLabel @332
					    Parent_View 	@330
					    location   	(1788, 1050)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.651515
					    height     	39
					    orientation 	1))))
			    (object InheritView "" @333
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CADCD3B0380"
				client     	@315
				supplier   	@324
				line_style 	3
				origin_attachment 	(705, 500)
				terminal_attachment 	(705, 307))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @334
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 224)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@334
				    location   	(815, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				width      	500
				height     	212
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @335
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@315
				supplier   	@334
				line_style 	3
				origin_attachment 	(854, 500)
				terminal_attachment 	(854, 330))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @336
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1824, 464)
				label      	(object ItemLabel
				    Parent_View 	@336
				    location   	(1490, 368)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	669
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	687
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @337
				location   	(1206, 493)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @338
					Parent_View 	@337
					location   	(-586, 237)
					label      	(object SegLabel @339
					    Parent_View 	@338
					    location   	(1136, 386)
					    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      	"3AD5FD14019E"
					client     	@337
					supplier   	@334
					vertices   	(list Points
					    (1206, 493)
					    (1094, 493)
					    (1094, 330))
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1094, 330)
					label      	(object SegLabel @340
					    Parent_View 	@338
					    location   	(1042, 377)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.828326
					    height     	53
					    orientation 	0))
				    (object RoleView "eExtensibilityElements" @341
					Parent_View 	@337
					location   	(-586, 237)
					label      	(object SegLabel @342
					    Parent_View 	@341
					    location   	(1196, 454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	-0.039711
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@337
					supplier   	@336
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1481, 493)
					label      	(object SegLabel @343
					    Parent_View 	@341
					    location   	(1415, 546)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.764957
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @344
					    Parent_View 	@341
					    location   	(1396, 392)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.694915
					    height     	102
					    orientation 	0))))
			    (object InheritView "" @345
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3627F00B7"
				client     	@325
				supplier   	@336
				line_style 	3
				origin_attachment 	(1812, 741)
				terminal_attachment 	(1812, 572))))
		    (object ClassDiagram "2.3 Messages"
			quid       	"3BCE853D02C8"
			title      	"2.3 Messages"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IMessage" @346
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 224)
				label      	(object ItemLabel
				    Parent_View 	@346
				    location   	(267, 122)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"IMessage")
				stereotype 	(object ItemLabel
				    Parent_View 	@346
				    location   	(267, 72)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A8AF004F"
				width      	380
				height     	328
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPart" @347
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 224)
				label      	(object ItemLabel
				    Parent_View 	@347
				    location   	(1029, 124)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"IPart")
				stereotype 	(object ItemLabel
				    Parent_View 	@347
				    location   	(1029, 74)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A93F01BE"
				width      	617
				height     	324
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @348
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 816)
				label      	(object ItemLabel
				    Parent_View 	@348
				    location   	(1075, 690)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	492
				height     	276
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @349
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A96D02F1"
				client     	@348
				supplier   	@347
				line_style 	3
				origin_attachment 	(1304, 678)
				terminal_attachment 	(1304, 386))
			    (object ClassView "Class" "Logical View::wsdl::Message" @350
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 656)
				label      	(object ItemLabel
				    Parent_View 	@350
				    location   	(241, 507)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				compartment 	(object Compartment
				    Parent_View 	@350
				    location   	(241, 579)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	30)
				width      	432
				height     	322
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @351
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A8D102BA"
				client     	@350
				supplier   	@346
				line_style 	3
				origin_attachment 	(445, 495)
				terminal_attachment 	(445, 388))
			    (object AssociationViewNew "$UNNAMED$1" @352
				location   	(688, 952)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5CEBE00E2"
				roleview_list 	(list RoleViews
				    (object RoleView "eParts" @353
					Parent_View 	@352
					location   	(176, 328)
					label      	(object SegLabel @354
					    Parent_View 	@353
					    location   	(952, 897)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eParts"
					    pctDist    	0.697452
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0061"
					client     	@352
					supplier   	@348
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(1066, 952)
					label      	(object SegLabel @355
					    Parent_View 	@353
					    location   	(987, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.789809
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @356
					    Parent_View 	@353
					    location   	(967, 1061)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.742038
					    height     	109
					    orientation 	1))
				    (object RoleView "$UNNAMED$2" @357
					Parent_View 	@352
					location   	(176, 328)
					label      	(object SegLabel @358
					    Parent_View 	@357
					    location   	(404, 893)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0057"
					client     	@352
					supplier   	@350
					vertices   	(list Points
					    (688, 952)
					    (445, 952)
					    (445, 817))
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(445, 817)
					label      	(object SegLabel @359
					    Parent_View 	@357
					    location   	(393, 912)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.747604
					    height     	53
					    orientation 	0))))))))
	    (object Class_Category "xsd"
		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 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$65"
			quid       	"3C626EA70102"
			roles      	(list role_list
			    (object Role "$UNNAMED$66"
				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$67"
			quid       	"3B69DADC02F5"
			roles      	(list role_list
			    (object Role "$UNNAMED$68"
				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$69"
			quid       	"3B6890D6006F"
			roles      	(list role_list
			    (object Role "$UNNAMED$70"
				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$71"
			quid       	"3B68356B02CB"
			roles      	(list role_list
			    (object Role "$UNNAMED$72"
				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$73"
			quid       	"3B6B426B0194"
			roles      	(list role_list
			    (object Role "$UNNAMED$74"
				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$75"
			quid       	"3B69DB060291"
			roles      	(list role_list
			    (object Role "$UNNAMED$76"
				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$77"
			quid       	"3B69404E0067"
			roles      	(list role_list
			    (object Role "$UNNAMED$78"
				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$79"
			quid       	"3B68359F0086"
			roles      	(list role_list
			    (object Role "$UNNAMED$80"
				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$81"
			quid       	"3C275D320220"
			roles      	(list role_list
			    (object Role "$UNNAMED$82"
				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$83"
			quid       	"3B6887BF0150"
			roles      	(list role_list
			    (object Role "$UNNAMED$84"
				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$85"
			quid       	"3B6B425E01F9"
			roles      	(list role_list
			    (object Role "$UNNAMED$86"
				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$87"
			quid       	"3B683585010D"
			roles      	(list role_list
			    (object Role "$UNNAMED$88"
				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$89"
			quid       	"3B6F1DE9018A"
			roles      	(list role_list
			    (object Role "$UNNAMED$90"
				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$91"
			quid       	"3B90068801C2"
			roles      	(list role_list
			    (object Role "$UNNAMED$92"
				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$93"
			quid       	"3B6833350340"
			roles      	(list role_list
			    (object Role "$UNNAMED$94"
				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$95"
			quid       	"3B6FDDD70113"
			roles      	(list role_list
			    (object Role "$UNNAMED$96"
				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$97"
			quid       	"3B6837DF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$98"
				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$99"
			quid       	"3B683959006E"
			roles      	(list role_list
			    (object Role "$UNNAMED$100"
				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$101"
			quid       	"3B698E360386"
			roles      	(list role_list
			    (object Role "$UNNAMED$102"
				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$103"
			quid       	"3B6851BA0126"
			roles      	(list role_list
			    (object Role "$UNNAMED$104"
				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$105"
			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$106"
				attributes 	(list Attribute_Set)
				quid       	"3B751B0C01CF"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$107"
			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$108"
				attributes 	(list Attribute_Set)
				quid       	"3B751B4C0286"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$109"
			quid       	"3B751C310356"
			roles      	(list role_list
			    (object Role "$UNNAMED$110"
				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$111"
			quid       	"3B69DB0A0066"
			roles      	(list role_list
			    (object Role "$UNNAMED$112"
				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$113"
			quid       	"3B68911401AF"
			roles      	(list role_list
			    (object Role "$UNNAMED$114"
				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$115"
			quid       	"3B68338C0058"
			roles      	(list role_list
			    (object Role "$UNNAMED$116"
				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$117"
			quid       	"3B6833EF0160"
			roles      	(list role_list
			    (object Role "$UNNAMED$118"
				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$119"
			quid       	"3B6B41E60251"
			roles      	(list role_list
			    (object Role "$UNNAMED$120"
				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$121"
			quid       	"3B69C0590198"
			roles      	(list role_list
			    (object Role "$UNNAMED$122"
				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$123"
			quid       	"3C42DBDD0297"
			roles      	(list role_list
			    (object Role "$UNNAMED$124"
				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$125"
			quid       	"3B6D23B901CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$126"
				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$127"
			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$128"
				attributes 	(list Attribute_Set)
				quid       	"3B6D59750119"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2")))
		    (object Association "$UNNAMED$129"
			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$130"
				attributes 	(list Attribute_Set)
				quid       	"3B69B654006E"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$131"
			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$132"
				attributes 	(list Attribute_Set)
				quid       	"3C29010B0018"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$133"
			quid       	"3B69DB0D0183"
			roles      	(list role_list
			    (object Role "$UNNAMED$134"
				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$135"
			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$136"
				attributes 	(list Attribute_Set)
				quid       	"3B69D2A8016F"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2")))
		    (object Association "$UNNAMED$137"
			quid       	"3B6D8D3D003E"
			roles      	(list role_list
			    (object Role "$UNNAMED$138"
				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$139"
			quid       	"3B6D8D330025"
			roles      	(list role_list
			    (object Role "$UNNAMED$140"
				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$141"
			quid       	"3B6ADCD802FC"
			roles      	(list role_list
			    (object Role "$UNNAMED$142"
				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$143"
			quid       	"3B6ADCC5007E"
			roles      	(list role_list
			    (object Role "$UNNAMED$144"
				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$145"
			quid       	"3B69DB1702C8"
			roles      	(list role_list
			    (object Role "$UNNAMED$146"
				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$147"
			quid       	"3B6BCEB102F8"
			roles      	(list role_list
			    (object Role "$UNNAMED$148"
				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$149"
			quid       	"3B683606026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$150"
				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$151"
			quid       	"3B69DB15008A"
			roles      	(list role_list
			    (object Role "$UNNAMED$152"
				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$153"
			quid       	"3B6837AC025A"
			roles      	(list role_list
			    (object Role "$UNNAMED$154"
				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$155"
			quid       	"3B6B42450398"
			roles      	(list role_list
			    (object Role "$UNNAMED$156"
				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$157"
			quid       	"3B69DB0F0212"
			roles      	(list role_list
			    (object Role "$UNNAMED$158"
				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$159"
			quid       	"3B6B47150119"
			roles      	(list role_list
			    (object Role "$UNNAMED$160"
				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$161"
			quid       	"3B683C890122"
			roles      	(list role_list
			    (object Role "$UNNAMED$162"
				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$163"
			quid       	"3B6ADE42009A"
			roles      	(list role_list
			    (object Role "$UNNAMED$164"
				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$165"
			quid       	"3B6AE8240051"
			roles      	(list role_list
			    (object Role "$UNNAMED$166"
				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$167"
			quid       	"3B688E6B003D"
			roles      	(list role_list
			    (object Role "$UNNAMED$168"
				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$169"
			quid       	"3B66EE8D01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$170"
				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$171"
			quid       	"3B66FDFA00C3"
			roles      	(list role_list
			    (object Role "$UNNAMED$172"
				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$173"
			quid       	"3B66EE920216"
			roles      	(list role_list
			    (object Role "$UNNAMED$174"
				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$175"
			quid       	"3B66EE760049"
			roles      	(list role_list
			    (object Role "$UNNAMED$176"
				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$177"
			quid       	"3B66EEFF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$178"
				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$179"
			quid       	"3BFC2A1701ED"
			roles      	(list role_list
			    (object Role "$UNNAMED$180"
				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$181"
			quid       	"3B66EEA7023E"
			roles      	(list role_list
			    (object Role "$UNNAMED$182"
				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$183"
			quid       	"3B69E4560290"
			roles      	(list role_list
			    (object Role "$UNNAMED$184"
				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$185"
			quid       	"3B6D5CA50112"
			roles      	(list role_list
			    (object Role "$UNNAMED$186"
				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$187"
			quid       	"3B6C35AD0374"
			roles      	(list role_list
			    (object Role "$UNNAMED$188"
				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$189"
			quid       	"3BC8AE0203A8"
			roles      	(list role_list
			    (object Role "$UNNAMED$190"
				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$191"
			quid       	"3B6C34B70208"
			roles      	(list role_list
			    (object Role "$UNNAMED$192"
				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$193"
			quid       	"3B6C363201DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$194"
				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$195"
			quid       	"3B6D35AB0273"
			roles      	(list role_list
			    (object Role "$UNNAMED$196"
				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$197"
			quid       	"3B6D5572016C"
			roles      	(list role_list
			    (object Role "$UNNAMED$198"
				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$199"
			quid       	"3B69E2910158"
			roles      	(list role_list
			    (object Role "$UNNAMED$200"
				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$201"
			quid       	"3B9006CF0088"
			roles      	(list role_list
			    (object Role "$UNNAMED$202"
				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$203"
			quid       	"3B69DB330264"
			roles      	(list role_list
			    (object Role "$UNNAMED$204"
				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$205"
			quid       	"3B69DB11026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$206"
				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$207"
			quid       	"3C626EB30005"
			roles      	(list role_list
			    (object Role "$UNNAMED$208"
				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$209"
			quid       	"3BEBDC870247"
			roles      	(list role_list
			    (object Role "$UNNAMED$210"
				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$211"
			quid       	"3BFE622703CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$212"
				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$213"
			quid       	"3BFE62690165"
			roles      	(list role_list
			    (object Role "$UNNAMED$214"
				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$215"
			quid       	"3BFE6431035F"
			roles      	(list role_list
			    (object Role "$UNNAMED$216"
				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$217"
			quid       	"3C21DCC700EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$218"
				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$219"
			quid       	"3C21DD0C03DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$220"
				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$221"
			quid       	"3C239134004F"
			roles      	(list role_list
			    (object Role "$UNNAMED$222"
				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$223"
			quid       	"3C25D3A60131"
			roles      	(list role_list
			    (object Role "$UNNAMED$224"
				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$225"
			quid       	"3C25ECF0005E"
			roles      	(list role_list
			    (object Role "$UNNAMED$226"
				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$227"
			quid       	"3C25ED0B011B"
			roles      	(list role_list
			    (object Role "$UNNAMED$228"
				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$229"
			quid       	"3C25EEAB001F"
			roles      	(list role_list
			    (object Role "$UNNAMED$230"
				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$231"
			quid       	"3C276DA000DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$232"
				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$233"
			quid       	"3C2784730194"
			roles      	(list role_list
			    (object Role "$UNNAMED$234"
				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$235"
			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$236"
				attributes 	(list Attribute_Set)
				quid       	"3C2880F90046"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A")))
		    (object Association "$UNNAMED$237"
			quid       	"3C2882C50137"
			roles      	(list role_list
			    (object Role "$UNNAMED$238"
				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$239"
			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$240"
				attributes 	(list Attribute_Set)
				quid       	"3C28A0F302F0"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$241"
			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$242"
				attributes 	(list Attribute_Set)
				quid       	"3C28A6DD03DE"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$243"
			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$244"
				attributes 	(list Attribute_Set)
				quid       	"3C28A714015B"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$245"
			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$246"
				attributes 	(list Attribute_Set)
				quid       	"3C28A74D0185"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$247"
			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$248"
				attributes 	(list Attribute_Set)
				quid       	"3C28A7F40121"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$249"
			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$250"
				attributes 	(list Attribute_Set)
				quid       	"3C28A99700E7"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D")))
		    (object Association "$UNNAMED$251"
			quid       	"3C28B085025B"
			roles      	(list role_list
			    (object Role "$UNNAMED$252"
				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$253"
			quid       	"3C28B08D0252"
			roles      	(list role_list
			    (object Role "$UNNAMED$254"
				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$255"
			quid       	"3C28B0AB0396"
			roles      	(list role_list
			    (object Role "$UNNAMED$256"
				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$257"
			quid       	"3C28B0AF0338"
			roles      	(list role_list
			    (object Role "$UNNAMED$258"
				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$259"
			quid       	"3C28B0B30207"
			roles      	(list role_list
			    (object Role "$UNNAMED$260"
				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$261"
			quid       	"3C28B0B6028D"
			roles      	(list role_list
			    (object Role "$UNNAMED$262"
				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$263"
			quid       	"3C28B0BC0051"
			roles      	(list role_list
			    (object Role "$UNNAMED$264"
				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$265"
			quid       	"3C28B0BF018C"
			roles      	(list role_list
			    (object Role "$UNNAMED$266"
				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$267"
			quid       	"3C28B0C2021D"
			roles      	(list role_list
			    (object Role "$UNNAMED$268"
				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$269"
			quid       	"3C28B0C50159"
			roles      	(list role_list
			    (object Role "$UNNAMED$270"
				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$271"
			quid       	"3C28B0C802A7"
			roles      	(list role_list
			    (object Role "$UNNAMED$272"
				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$273"
			quid       	"3C28B0CB039C"
			roles      	(list role_list
			    (object Role "$UNNAMED$274"
				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$275"
			quid       	"3C28B0CF0199"
			roles      	(list role_list
			    (object Role "$UNNAMED$276"
				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$277"
			quid       	"3C28B0D500C5"
			roles      	(list role_list
			    (object Role "$UNNAMED$278"
				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$279"
			quid       	"3C28B0D800DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$280"
				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$281"
			quid       	"3C28B0DB0377"
			roles      	(list role_list
			    (object Role "$UNNAMED$282"
				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$283"
			quid       	"3C28B0DF0048"
			roles      	(list role_list
			    (object Role "$UNNAMED$284"
				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$285"
			quid       	"3C28B0E300D9"
			roles      	(list role_list
			    (object Role "$UNNAMED$286"
				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$287"
			quid       	"3C28B44401EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$288"
				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$289"
			quid       	"3C28B54F0145"
			roles      	(list role_list
			    (object Role "$UNNAMED$290"
				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$291"
			quid       	"3C28B5C4011C"
			roles      	(list role_list
			    (object Role "$UNNAMED$292"
				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$293"
			quid       	"3C28B62A00AA"
			roles      	(list role_list
			    (object Role "$UNNAMED$294"
				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$295"
			quid       	"3C28B6B003A6"
			roles      	(list role_list
			    (object Role "$UNNAMED$296"
				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$297"
			quid       	"3C28B7CA026B"
			roles      	(list role_list
			    (object Role "$UNNAMED$298"
				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$299"
			quid       	"3C28B8400062"
			roles      	(list role_list
			    (object Role "$UNNAMED$300"
				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$301"
			quid       	"3C28B898016D"
			roles      	(list role_list
			    (object Role "$UNNAMED$302"
				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$303"
			quid       	"3C28B8DC0052"
			roles      	(list role_list
			    (object Role "$UNNAMED$304"
				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$305"
			quid       	"3C28B97001DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$306"
				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$307"
			quid       	"3D4BB4AE01CC"
			roles      	(list role_list
			    (object Role "$UNNAMED$308"
				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$309"
			quid       	"3D4BB4D3028E"
			roles      	(list role_list
			    (object Role "$UNNAMED$310"
				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$311"
			quid       	"3D4BB4D901F6"
			roles      	(list role_list
			    (object Role "$UNNAMED$312"
				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$313"
			quid       	"3D4C68FF01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$314"
				quid       	"3D4C69020317"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				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" @360
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@360
				    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" @361
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1168, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@361
				    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 "" @362
				location   	(928, 225)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@360
				vertices   	(list Points
				    (928, 225)
				    (928, 135)))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @363
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@363
				    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 "" @364
				location   	(1203, 706)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@361
				vertices   	(list Points
				    (1203, 706)
				    (1203, 615)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @365
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@365
				    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 "" @366
				location   	(444, 709)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@365
				vertices   	(list Points
				    (444, 709)
				    (444, 615)))
			    (object InheritTreeView "" @367
				location   	(1572, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@363
				vertices   	(list Points
				    (1572, 465)
				    (1572, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @368
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 800)
				label      	(object ItemLabel
				    Parent_View 	@368
				    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" @369
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 1056)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@369
				    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" @370
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1104, 320)
				label      	(object ItemLabel
				    Parent_View 	@370
				    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 "" @371
				location   	(453, 1203)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@369
				vertices   	(list Points
				    (453, 1203)
				    (453, 1111)))
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @372
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@372
				    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" @373
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@373
				    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 "" @374
				location   	(1872, 950)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@373
				vertices   	(list Points
				    (1872, 950)
				    (1872, 855)))
			    (object InheritTreeView "" @375
				location   	(181, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@372
				vertices   	(list Points
				    (181, 465)
				    (181, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @376
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1280)
				label      	(object ItemLabel
				    Parent_View 	@376
				    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" @377
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1056)
				label      	(object ItemLabel
				    Parent_View 	@377
				    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" @378
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1488)
				label      	(object ItemLabel
				    Parent_View 	@378
				    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" @379
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1184, 1488)
				label      	(object ItemLabel
				    Parent_View 	@379
				    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" @380
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 560)
				label      	(object ItemLabel
				    Parent_View 	@380
				    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" @381
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1056)
				label      	(object ItemLabel
				    Parent_View 	@381
				    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" @382
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 560)
				label      	(object ItemLabel
				    Parent_View 	@382
				    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" @383
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1296)
				label      	(object ItemLabel
				    Parent_View 	@383
				    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" @384
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 560)
				label      	(object ItemLabel
				    Parent_View 	@384
				    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" @385
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1280)
				label      	(object ItemLabel
				    Parent_View 	@385
				    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" @386
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1488)
				label      	(object ItemLabel
				    Parent_View 	@386
				    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" @387
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 320)
				label      	(object ItemLabel
				    Parent_View 	@387
				    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" @388
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 320)
				label      	(object ItemLabel
				    Parent_View 	@388
				    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 "" @389
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@370
				supplier   	@360
				line_style 	3
				origin_attachment 	(1094, 265)
				terminal_attachment 	(1094, 225)
				drawSupplier 	@362)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @390
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@390
				    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 "" @391
				location   	(962, 947)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@390
				vertices   	(list Points
				    (962, 947)
				    (962, 855)))
			    (object InheritView "" @392
				stereotype 	(object SegLabel @393
				    Parent_View 	@392
				    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     	@383
				supplier   	@365
				line_style 	3
				origin_attachment 	(149, 1241)
				terminal_attachment 	(149, 709)
				drawSupplier 	@366)
			    (object InheritView "" @394
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@383
				supplier   	@369
				line_style 	3
				origin_attachment 	(256, 1241)
				terminal_attachment 	(256, 1203)
				drawSupplier 	@371)
			    (object InheritView "" @395
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@384
				supplier   	@372
				line_style 	3
				origin_attachment 	(284, 505)
				terminal_attachment 	(284, 465)
				drawSupplier 	@375)
			    (object InheritView "" @396
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@382
				supplier   	@363
				line_style 	3
				origin_attachment 	(2002, 505)
				terminal_attachment 	(2002, 465)
				drawSupplier 	@367)
			    (object InheritView "" @397
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@363
				supplier   	@360
				line_style 	3
				origin_attachment 	(1569, 265)
				terminal_attachment 	(1569, 225)
				drawSupplier 	@362)
			    (object InheritView "" @398
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@380
				supplier   	@363
				line_style 	3
				origin_attachment 	(1490, 505)
				terminal_attachment 	(1490, 465)
				drawSupplier 	@367)
			    (object InheritView "" @399
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@368
				supplier   	@365
				line_style 	3
				origin_attachment 	(510, 745)
				terminal_attachment 	(510, 709)
				drawSupplier 	@366)
			    (object InheritView "" @400
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@385
				supplier   	@390
				line_style 	3
				origin_attachment 	(1321, 1225)
				terminal_attachment 	(1321, 947)
				drawSupplier 	@391)
			    (object InheritView "" @401
				stereotype 	(object SegLabel @402
				    Parent_View 	@401
				    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     	@377
				supplier   	@363
				line_style 	3
				origin_attachment 	(2200, 1001)
				terminal_attachment 	(2200, 465)
				drawSupplier 	@367)
			    (object InheritView "" @403
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@377
				supplier   	@373
				line_style 	3
				origin_attachment 	(2093, 1001)
				terminal_attachment 	(2093, 950)
				drawSupplier 	@374)
			    (object InheritView "" @404
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@369
				supplier   	@390
				line_style 	3
				origin_attachment 	(450, 1001)
				terminal_attachment 	(450, 947)
				drawSupplier 	@391)
			    (object InheritView "" @405
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@372
				supplier   	@360
				line_style 	3
				origin_attachment 	(147, 265)
				terminal_attachment 	(147, 225)
				drawSupplier 	@362)
			    (object InheritView "" @406
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D84F70092"
				client     	@388
				supplier   	@360
				line_style 	3
				origin_attachment 	(2012, 265)
				terminal_attachment 	(2012, 225)
				drawSupplier 	@362)
			    (object InheritView "" @407
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848B80286"
				client     	@365
				supplier   	@360
				line_style 	3
				origin_attachment 	(834, 505)
				terminal_attachment 	(834, 225)
				drawSupplier 	@362)
			    (object InheritView "" @408
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@361
				supplier   	@360
				line_style 	3
				origin_attachment 	(1350, 505)
				terminal_attachment 	(1350, 225)
				drawSupplier 	@362)
			    (object InheritView "" @409
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@387
				supplier   	@360
				line_style 	3
				origin_attachment 	(572, 265)
				terminal_attachment 	(572, 225)
				drawSupplier 	@362)
			    (object InheritView "" @410
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@376
				supplier   	@373
				line_style 	3
				origin_attachment 	(1693, 1221)
				terminal_attachment 	(1693, 950)
				drawSupplier 	@374)
			    (object InheritView "" @411
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@378
				supplier   	@361
				line_style 	3
				origin_attachment 	(1590, 1432)
				terminal_attachment 	(1590, 706)
				drawSupplier 	@364)
			    (object InheritView "" @412
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@379
				supplier   	@361
				line_style 	3
				origin_attachment 	(1431, 1432)
				terminal_attachment 	(1431, 706)
				drawSupplier 	@364)
			    (object InheritView "" @413
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@390
				supplier   	@361
				line_style 	3
				origin_attachment 	(959, 745)
				terminal_attachment 	(959, 706)
				drawSupplier 	@364)
			    (object InheritView "" @414
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@373
				supplier   	@361
				line_style 	3
				origin_attachment 	(1872, 745)
				terminal_attachment 	(1872, 706)
				drawSupplier 	@364)
			    (object InheritView "" @415
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@381
				supplier   	@390
				line_style 	3
				origin_attachment 	(962, 1001)
				terminal_attachment 	(962, 947)
				drawSupplier 	@391)
			    (object InheritView "" @416
				stereotype 	(object SegLabel @417
				    Parent_View 	@416
				    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     	@386
				supplier   	@372
				line_style 	3
				origin_attachment 	(28, 1429)
				terminal_attachment 	(28, 465)
				drawSupplier 	@375)
			    (object InheritView "" @418
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@386
				supplier   	@369
				line_style 	3
				origin_attachment 	(656, 1429)
				terminal_attachment 	(656, 1203)
				drawSupplier 	@371)))
		    (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" @419
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(784, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@419
				    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" @420
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@420
				    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$129" @421
				location   	(494, 1627)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B653017A"
				roleview_list 	(list RoleViews
				    (object RoleView "scope" @422
					Parent_View 	@421
					location   	(286, -485)
					label      	(object SegLabel @423
					    Parent_View 	@422
					    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     	@421
					supplier   	@419
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(661, 1627)
					label      	(object SegLabel @424
					    Parent_View 	@422
					    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$130" @425
					Parent_View 	@421
					location   	(286, -485)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006E"
					client     	@421
					supplier   	@420
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(327, 1627))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @426
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@426
				    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" @427
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2176, 992)
				label      	(object ItemLabel
				    Parent_View 	@427
				    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$161" @428
				location   	(2229, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683C890122"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$162" @429
					Parent_View 	@428
					location   	(549, -248)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0110"
					client     	@428
					supplier   	@427
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1045))
				    (object RoleView "term" @430
					Parent_View 	@428
					location   	(549, -248)
					label      	(object SegLabel @431
					    Parent_View 	@430
					    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     	@428
					supplier   	@426
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1179)
					label      	(object SegLabel @432
					    Parent_View 	@430
					    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" @433
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@433
				    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" @434
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 768)
				label      	(object ItemLabel
				    Parent_View 	@434
				    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$149" @435
				location   	(2219, 880)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683606026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$150" @436
					Parent_View 	@435
					location   	(-357, -240)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070221"
					client     	@435
					supplier   	@434
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 821))
				    (object RoleView "particles" @437
					Parent_View 	@435
					location   	(-357, -240)
					label      	(object SegLabel @438
					    Parent_View 	@437
					    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     	@435
					supplier   	@427
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 939)
					label      	(object SegLabel @439
					    Parent_View 	@437
					    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" @440
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 992)
				label      	(object ItemLabel
				    Parent_View 	@440
				    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" @441
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1424)
				label      	(object ItemLabel
				    Parent_View 	@441
				    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" @442
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 992)
				label      	(object ItemLabel
				    Parent_View 	@442
				    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$195" @443
				location   	(590, 1140)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$196" @444
					Parent_View 	@443
					location   	(302, 148)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (540, 1140)
					    (540, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(540, 1045))
				    (object RoleView "baseTypeDefinition" @445
					Parent_View 	@443
					location   	(302, 148)
					label      	(object SegLabel @446
					    Parent_View 	@445
					    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     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (641, 1140)
					    (641, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(641, 1045)
					label      	(object SegLabel @447
					    Parent_View 	@445
					    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" @448
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 992)
				label      	(object ItemLabel
				    Parent_View 	@448
				    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$97" @449
				location   	(1119, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837DF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$98" @450
					Parent_View 	@449
					location   	(-1569, -8)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FD"
					client     	@449
					supplier   	@448
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1045))
				    (object RoleView "contentType" @451
					Parent_View 	@449
					location   	(-1569, -8)
					label      	(object SegLabel @452
					    Parent_View 	@451
					    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     	@449
					supplier   	@433
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1179)
					label      	(object SegLabel @453
					    Parent_View 	@451
					    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$103" @454
				location   	(1455, 982)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6851BA0126"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$104" @455
					Parent_View 	@454
					location   	(159, -570)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0150"
					client     	@454
					supplier   	@448
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1280, 982))
				    (object RoleView "attributeWildcard" @456
					Parent_View 	@454
					location   	(159, -570)
					label      	(object SegLabel @457
					    Parent_View 	@456
					    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     	@454
					supplier   	@440
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1630, 982)
					label      	(object SegLabel @458
					    Parent_View 	@456
					    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$99" @459
				location   	(921, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683959006E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$100" @460
					Parent_View 	@459
					location   	(-871, -376)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6839590349"
					client     	@459
					supplier   	@448
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1045))
				    (object RoleView "attributeUses" @461
					Parent_View 	@459
					location   	(-871, -376)
					label      	(object SegLabel @462
					    Parent_View 	@461
					    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     	@459
					supplier   	@441
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1371)
					label      	(object SegLabel @463
					    Parent_View 	@461
					    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" @464
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 768)
				label      	(object ItemLabel
				    Parent_View 	@464
				    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" @465
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1632)
				label      	(object ItemLabel
				    Parent_View 	@465
				    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" @466
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 448)
				label      	(object ItemLabel
				    Parent_View 	@466
				    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$153" @467
				location   	(2216, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$154" @468
					Parent_View 	@467
					location   	(-552, -816)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@467
					supplier   	@466
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 501))
				    (object RoleView "modelGroup" @469
					Parent_View 	@467
					location   	(-552, -816)
					label      	(object SegLabel @470
					    Parent_View 	@469
					    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     	@467
					supplier   	@434
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 715)
					label      	(object SegLabel @471
					    Parent_View 	@469
					    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" @472
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1424)
				label      	(object ItemLabel
				    Parent_View 	@472
				    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$83" @473
				location   	(1676, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6887BF0150"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$84" @474
					Parent_View 	@473
					location   	(412, -344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A7"
					client     	@473
					supplier   	@472
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1371))
				    (object RoleView "attributeWildcard" @475
					Parent_View 	@473
					location   	(412, -344)
					label      	(object SegLabel @476
					    Parent_View 	@475
					    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     	@473
					supplier   	@440
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1045)
					label      	(object SegLabel @477
					    Parent_View 	@475
					    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$79" @478
				location   	(1429, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68359F0086"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$80" @479
					Parent_View 	@478
					location   	(-363, -146)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A00069"
					client     	@478
					supplier   	@472
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1610, 1438))
				    (object RoleView "attributeUses" @480
					Parent_View 	@478
					location   	(-363, -146)
					label      	(object SegLabel @481
					    Parent_View 	@480
					    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     	@478
					supplier   	@441
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1248, 1438)
					label      	(object SegLabel @482
					    Parent_View 	@480
					    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" @483
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1424)
				label      	(object ItemLabel
				    Parent_View 	@483
				    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$87" @484
				location   	(777, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683585010D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$88" @485
					Parent_View 	@484
					location   	(-519, -367)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FA"
					client     	@484
					supplier   	@441
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(896, 1425))
				    (object RoleView "attributeDeclaration" @486
					Parent_View 	@484
					location   	(-519, -367)
					label      	(object SegLabel @487
					    Parent_View 	@486
					    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     	@484
					supplier   	@483
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(658, 1425)
					label      	(object SegLabel @488
					    Parent_View 	@486
					    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$71" @489
				location   	(237, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68356B02CB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$72" @490
					Parent_View 	@489
					location   	(-1043, 72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A6"
					client     	@489
					supplier   	@483
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1371))
				    (object RoleView "typeDefinition" @491
					Parent_View 	@489
					location   	(-1043, 72)
					label      	(object SegLabel @492
					    Parent_View 	@491
					    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     	@489
					supplier   	@442
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1045)
					label      	(object SegLabel @493
					    Parent_View 	@491
					    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" @494
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@494
				    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$93" @495
				location   	(728, 775)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833350340"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$94" @496
					Parent_View 	@495
					location   	(-856, -57)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028D"
					client     	@495
					supplier   	@448
					vertices   	(list Points
					    (728, 775)
					    (788, 775)
					    (788, 939))
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(788, 939))
				    (object RoleView "baseTypeDefinition" @497
					Parent_View 	@495
					location   	(-856, -57)
					label      	(object SegLabel @498
					    Parent_View 	@497
					    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     	@495
					supplier   	@494
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(579, 775)
					label      	(object SegLabel @499
					    Parent_View 	@497
					    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" @500
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 448)
				label      	(object ItemLabel
				    Parent_View 	@500
				    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$135" @501
				location   	(1629, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69D29E014D"
				roleview_list 	(list RoleViews
				    (object RoleView "referencedKey" @502
					Parent_View 	@501
					location   	(-83, 94)
					label      	(object SegLabel @503
					    Parent_View 	@502
					    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     	@501
					supplier   	@500
					vertices   	(list Points
					    (1629, 574)
					    (1555, 574)
					    (1555, 501))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1555, 501)
					label      	(object SegLabel @504
					    Parent_View 	@502
					    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$136" @505
					Parent_View 	@501
					location   	(-83, 94)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A8016F"
					client     	@501
					supplier   	@500
					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$139" @506
				location   	(1197, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$140" @507
					Parent_View 	@506
					location   	(-115, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@506
					supplier   	@500
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 501))
				    (object RoleView "fields" @508
					Parent_View 	@506
					location   	(-115, 32)
					label      	(object SegLabel @509
					    Parent_View 	@508
					    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     	@506
					supplier   	@464
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 715)
					label      	(object SegLabel @510
					    Parent_View 	@508
					    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$137" @511
				location   	(1415, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$138" @512
					Parent_View 	@511
					location   	(103, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@511
					supplier   	@500
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 501))
				    (object RoleView "selector" @513
					Parent_View 	@511
					location   	(103, 32)
					label      	(object SegLabel @514
					    Parent_View 	@513
					    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     	@511
					supplier   	@464
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 715)
					label      	(object SegLabel @515
					    Parent_View 	@513
					    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" @516
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1312, 160)
				label      	(object ItemLabel
				    Parent_View 	@516
				    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$181" @517
				location   	(2395, 606)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEA7023E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$182" @518
					Parent_View 	@517
					location   	(-853, 174)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038A"
					client     	@517
					supplier   	@516
					vertices   	(list Points
					    (2395, 606)
					    (2395, 65)
					    (1611, 65))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(1611, 65))
				    (object RoleView "notationDeclarations" @519
					Parent_View 	@517
					location   	(-853, 174)
					label      	(object SegLabel @520
					    Parent_View 	@519
					    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     	@517
					supplier   	@465
					vertices   	(list Points
					    (2395, 606)
					    (2395, 1633)
					    (2098, 1633))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(2098, 1633)
					label      	(object SegLabel @521
					    Parent_View 	@519
					    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$177" @522
				location   	(1772, 249)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEFF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$178" @523
					Parent_View 	@522
					location   	(-948, -327)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF00025A"
					client     	@522
					supplier   	@516
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1611, 249))
				    (object RoleView "modelGroupDefinitions" @524
					Parent_View 	@522
					location   	(-948, -327)
					label      	(object SegLabel @525
					    Parent_View 	@524
					    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     	@522
					supplier   	@466
					vertices   	(list Points
					    (1772, 249)
					    (1832, 249)
					    (1832, 395))
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1832, 395)
					label      	(object SegLabel @526
					    Parent_View 	@524
					    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$173" @527
				location   	(2346, 518)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE920216"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$174" @528
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @529
					    Parent_View 	@528
					    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     	@527
					supplier   	@516
					vertices   	(list Points
					    (2346, 518)
					    (2346, 149)
					    (1611, 149))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(1611, 149))
				    (object RoleView "attributeGroupDefinitions" @530
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @531
					    Parent_View 	@530
					    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     	@527
					supplier   	@472
					vertices   	(list Points
					    (2346, 518)
					    (2346, 1441)
					    (2166, 1441))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(2166, 1441)
					label      	(object SegLabel @532
					    Parent_View 	@530
					    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$175" @533
				location   	(203, 159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE760049"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$176" @534
					Parent_View 	@533
					location   	(-485, -273)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE760374"
					client     	@533
					supplier   	@516
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(1013, 159))
				    (object RoleView "typeDefinitions" @535
					Parent_View 	@533
					location   	(-485, -273)
					label      	(object SegLabel @536
					    Parent_View 	@535
					    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     	@533
					supplier   	@494
					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 @537
					    Parent_View 	@535
					    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$179" @538
				location   	(1087, 329)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFC2A1701ED"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$180" @539
					Parent_View 	@538
					location   	(-577, -23)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A0273"
					client     	@538
					supplier   	@516
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 264))
				    (object RoleView "identityConstraintDefinitions" @540
					Parent_View 	@538
					location   	(-577, -23)
					label      	(object SegLabel @541
					    Parent_View 	@540
					    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     	@538
					supplier   	@500
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 395)
					label      	(object SegLabel @542
					    Parent_View 	@540
					    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$171" @543
				location   	(48, 320)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66FDFA00C3"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$172" @544
					Parent_View 	@543
					location   	(-1072, -288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027D"
					client     	@543
					supplier   	@516
					vertices   	(list Points
					    (49, 322)
					    (49, 68)
					    (1013, 68))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(1013, 68))
				    (object RoleView "attributeDeclarations" @545
					Parent_View 	@543
					location   	(-1072, -288)
					label      	(object SegLabel @546
					    Parent_View 	@545
					    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     	@543
					supplier   	@483
					vertices   	(list Points
					    (49, 322)
					    (49, 1415)
					    (174, 1415))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(174, 1415)
					label      	(object SegLabel @547
					    Parent_View 	@545
					    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" @548
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 448)
				label      	(object ItemLabel
				    Parent_View 	@548
				    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$121" @549
				location   	(499, 589)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69C0590198"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$122" @550
					Parent_View 	@549
					location   	(-13, 109)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01E3"
					client     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (452, 589)
					    (452, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(452, 496))
				    (object RoleView "substitutionGroupAffiliation" @551
					Parent_View 	@549
					location   	(-13, 109)
					label      	(object SegLabel @552
					    Parent_View 	@551
					    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     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (547, 589)
					    (547, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(547, 496)
					label      	(object SegLabel @553
					    Parent_View 	@551
					    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$115" @554
				location   	(241, 613)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68338C0058"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$116" @555
					Parent_View 	@554
					location   	(-1343, -219)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03BF"
					client     	@554
					supplier   	@548
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 496))
				    (object RoleView "typeDefinition" @556
					Parent_View 	@554
					location   	(-1343, -219)
					label      	(object SegLabel @557
					    Parent_View 	@556
					    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     	@554
					supplier   	@494
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 731)
					label      	(object SegLabel @558
					    Parent_View 	@556
					    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$117" @559
				location   	(837, 460)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$118" @560
					Parent_View 	@559
					location   	(-1819, -68)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@559
					supplier   	@548
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(666, 460))
				    (object RoleView "identityConstraintDefinitions" @561
					Parent_View 	@559
					location   	(-1819, -68)
					label      	(object SegLabel @562
					    Parent_View 	@561
					    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     	@559
					supplier   	@500
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(1008, 460)
					label      	(object SegLabel @563
					    Parent_View 	@561
					    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$169" @564
				location   	(541, 246)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE8D01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$170" @565
					Parent_View 	@564
					location   	(-1123, -186)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0198"
					client     	@564
					supplier   	@516
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(1013, 246))
				    (object RoleView "elementDeclarations" @566
					Parent_View 	@564
					location   	(-1123, -186)
					label      	(object SegLabel @567
					    Parent_View 	@566
					    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     	@564
					supplier   	@548
					vertices   	(list Points
					    (541, 246)
					    (224, 246)
					    (224, 400))
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(224, 400)
					label      	(object SegLabel @568
					    Parent_View 	@566
					    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$123" @569
				location   	(353, 621)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C42DBDD0297"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$124" @570
					Parent_View 	@569
					location   	(-63, 173)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE0011E"
					client     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (306, 621)
					    (306, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(306, 496))
				    (object RoleView "substitutionGroup" @571
					Parent_View 	@569
					location   	(-63, 173)
					label      	(object SegLabel @572
					    Parent_View 	@571
					    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     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (400, 621)
					    (400, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(400, 496)
					label      	(object SegLabel @573
					    Parent_View 	@571
					    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" @574
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 128)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@574
				    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 	@574
				    location   	(46, 107)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	524
				    compartmentItems 	(list Compartment
					"+ name : String"
					"+ targetNamespace : String"))
				width      	534
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @575
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1648)
				label      	(object ItemLabel
				    Parent_View 	@575
				    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" @576
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 1680)
				label      	(object ItemLabel
				    Parent_View 	@576
				    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 	@576
				    location   	(1781, 1584)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	1177
				    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 "" @577
				location   	(463, 362)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@574
				vertices   	(list Points
				    (463, 362)
				    (463, 221)))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @578
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1600)
				label      	(object ItemLabel
				    Parent_View 	@578
				    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 	@578
				    location   	(1094, 1579)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	628
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	646
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @579
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 144)
				label      	(object ItemLabel
				    Parent_View 	@579
				    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 	@579
				    location   	(647, 98)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	538
				    compartmentItems 	(list Compartment
					"+ required : boolean"
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	548
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @580
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 1936)
				label      	(object ItemLabel
				    Parent_View 	@580
				    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 	@580
				    location   	(45, 1890)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	1294
				    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" @581
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 1440)
				label      	(object ItemLabel
				    Parent_View 	@581
				    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" @582
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@582
				    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 	@582
				    location   	(36, 491)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	548
				    compartmentItems 	(list Compartment
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	554
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @583
				location   	(294, 697)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@582
				vertices   	(list Points
				    (294, 697)
				    (294, 605)))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @584
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2256, 128)
				label      	(object ItemLabel
				    Parent_View 	@584
				    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" @585
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@585
				    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 "" @586
				location   	(2684, 962)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@585
				vertices   	(list Points
				    (2684, 962)
				    (2684, 576)))
			    (object ClassView "Class" "Logical View::xsd::XSDCompositor" @587
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1200)
				label      	(object ItemLabel
				    Parent_View 	@587
				    location   	(45, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDCompositor")
				stereotype 	(object ItemLabel
				    Parent_View 	@587
				    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" @588
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 528)
				label      	(object ItemLabel
				    Parent_View 	@588
				    location   	(638, 469)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDConstraint")
				stereotype 	(object ItemLabel
				    Parent_View 	@588
				    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" @589
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 2272)
				label      	(object ItemLabel
				    Parent_View 	@589
				    location   	(1980, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"XSDDerivationMethod")
				stereotype 	(object ItemLabel
				    Parent_View 	@589
				    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" @590
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 176)
				label      	(object ItemLabel
				    Parent_View 	@590
				    location   	(1281, 88)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"XSDIdentityConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@590
				    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" @591
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2704, 2224)
				label      	(object ItemLabel
				    Parent_View 	@591
				    location   	(2456, 2115)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"XSDContentTypeCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@591
				    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" @592
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1600)
				label      	(object ItemLabel
				    Parent_View 	@592
				    location   	(708, 1516)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@592
				    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" @593
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 2240)
				label      	(object ItemLabel
				    Parent_View 	@593
				    location   	(766, 2156)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDProcessContents")
				stereotype 	(object ItemLabel
				    Parent_View 	@593
				    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" @594
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2768, 160)
				label      	(object ItemLabel
				    Parent_View 	@594
				    location   	(2587, 97)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"XSDXPathVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@594
				    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" @595
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 1872)
				label      	(object ItemLabel
				    Parent_View 	@595
				    location   	(1389, 1788)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@595
				    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 	@595
				    location   	(1389, 1848)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	241
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @596
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 2000)
				label      	(object ItemLabel
				    Parent_View 	@596
				    location   	(1786, 1941)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@596
				    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 	@596
				    location   	(1786, 2001)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	238
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	382
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSubstitutionGroupExclusions" @597
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1184)
				label      	(object ItemLabel
				    Parent_View 	@597
				    location   	(485, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"XSDSubstitutionGroupExclusions")
				stereotype 	(object ItemLabel
				    Parent_View 	@597
				    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" @598
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1200)
				label      	(object ItemLabel
				    Parent_View 	@598
				    location   	(1171, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@598
				    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 	@598
				    location   	(1171, 1176)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	264
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"))
				width      	556
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @599
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1664, 2272)
				label      	(object ItemLabel
				    Parent_View 	@599
				    location   	(1398, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@599
				    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 	@599
				    location   	(1398, 2273)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	238
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	550
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamespaceConstraintCategory" @600
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 2240)
				label      	(object ItemLabel
				    Parent_View 	@600
				    location   	(45, 2154)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"XSDNamespaceConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@600
				    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" @601
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1264, 880)
				label      	(object ItemLabel
				    Parent_View 	@601
				    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 	@601
				    location   	(571, 809)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	1396
				    compartmentItems 	(list Compartment
					"+ nillable : boolean"
					"<<0..*>> + disallowedSubstitutions : XSDDisallowedSubstitutions"
					"<<0..*>> + substitutionGroupExclusions : XSDSubstitutionGroupExclusions"
					"+ abstract : boolean"))
				width      	1404
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @602
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@601
				supplier   	@582
				line_style 	3
				origin_attachment 	(681, 737)
				terminal_attachment 	(681, 697)
				drawSupplier 	@583)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @603
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@603
				    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" @604
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 1152)
				label      	(object ItemLabel
				    Parent_View 	@604
				    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 "" @605
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@604
				supplier   	@585
				line_style 	3
				origin_attachment 	(2862, 1088)
				terminal_attachment 	(2862, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @606
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1312)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@606
				    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 "" @607
				location   	(2375, 1465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@606
				vertices   	(list Points
				    (2375, 1465)
				    (2375, 1375)))
			    (object InheritView "" @608
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@606
				supplier   	@585
				line_style 	3
				origin_attachment 	(2368, 1249)
				terminal_attachment 	(2368, 962)
				drawSupplier 	@586)
			    (object InheritView "" @609
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@576
				supplier   	@606
				line_style 	3
				origin_attachment 	(2818, 1512)
				terminal_attachment 	(2818, 1465)
				drawSupplier 	@607)
			    (object InheritView "" @610
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@578
				supplier   	@606
				line_style 	3
				origin_attachment 	(1406, 1507)
				terminal_attachment 	(1406, 1465)
				drawSupplier 	@607)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @611
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 1152)
				label      	(object ItemLabel
				    Parent_View 	@611
				    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 "" @612
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@611
				supplier   	@585
				line_style 	3
				origin_attachment 	(2115, 1089)
				terminal_attachment 	(2115, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @613
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 528)
				label      	(object ItemLabel
				    Parent_View 	@613
				    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 "" @614
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@613
				supplier   	@574
				line_style 	3
				origin_attachment 	(1568, 456)
				terminal_attachment 	(1568, 362)
				drawSupplier 	@577)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @615
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 784)
				label      	(object ItemLabel
				    Parent_View 	@615
				    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" @616
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				label      	(object ItemLabel
				    Parent_View 	@616
				    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 "" @617
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@615
				supplier   	@574
				line_style 	3
				origin_attachment 	(2290, 691)
				terminal_attachment 	(2290, 362)
				drawSupplier 	@577)
			    (object InheritView "" @618
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@603
				supplier   	@582
				line_style 	3
				origin_attachment 	(141, 800)
				terminal_attachment 	(141, 697)
				drawSupplier 	@583)
			    (object InheritView "" @619
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@582
				supplier   	@574
				line_style 	3
				origin_attachment 	(372, 419)
				terminal_attachment 	(372, 362)
				drawSupplier 	@577)
			    (object InheritView "" @620
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@585
				supplier   	@574
				line_style 	3
				origin_attachment 	(2687, 448)
				terminal_attachment 	(2687, 362)
				drawSupplier 	@577)))
		    (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" @621
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@621
				    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" @622
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@622
				    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" @623
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1168)
				label      	(object ItemLabel
				    Parent_View 	@623
				    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" @624
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 1168)
				label      	(object ItemLabel
				    Parent_View 	@624
				    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 "" @625
				location   	(718, 1049)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@622
				vertices   	(list Points
				    (718, 1049)
				    (718, 959)))
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @626
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 928)
				label      	(object ItemLabel
				    Parent_View 	@626
				    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" @627
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 928)
				label      	(object ItemLabel
				    Parent_View 	@627
				    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" @628
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2032, 1104)
				label      	(object ItemLabel
				    Parent_View 	@628
				    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" @629
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 1104)
				label      	(object ItemLabel
				    Parent_View 	@629
				    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" @630
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 1376)
				label      	(object ItemLabel
				    Parent_View 	@630
				    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" @631
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1552)
				label      	(object ItemLabel
				    Parent_View 	@631
				    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 "" @632
				location   	(144, 1262)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@621
				vertices   	(list Points
				    (144, 1262)
				    (144, 964)))
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @633
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1216, 1552)
				label      	(object ItemLabel
				    Parent_View 	@633
				    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" @634
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1376)
				label      	(object ItemLabel
				    Parent_View 	@634
				    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" @635
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 1728)
				label      	(object ItemLabel
				    Parent_View 	@635
				    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" @636
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 1904)
				label      	(object ItemLabel
				    Parent_View 	@636
				    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" @637
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1728)
				label      	(object ItemLabel
				    Parent_View 	@637
				    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" @638
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1904)
				label      	(object ItemLabel
				    Parent_View 	@638
				    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" @639
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2112)
				label      	(object ItemLabel
				    Parent_View 	@639
				    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" @640
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 2112)
				label      	(object ItemLabel
				    Parent_View 	@640
				    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 "" @641
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C9D03C7"
				client     	@623
				supplier   	@622
				line_style 	3
				origin_attachment 	(394, 1100)
				terminal_attachment 	(394, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @642
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C78620045"
				client     	@634
				supplier   	@621
				line_style 	3
				origin_attachment 	(1119, 1308)
				terminal_attachment 	(1119, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @643
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 160)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@643
				    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 "" @644
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6CA5038D"
				client     	@624
				supplier   	@622
				line_style 	3
				origin_attachment 	(1044, 1100)
				terminal_attachment 	(1044, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @645
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C778002DF"
				client     	@630
				supplier   	@621
				line_style 	3
				origin_attachment 	(663, 1308)
				terminal_attachment 	(663, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDOrdered" @646
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1408)
				label      	(object ItemLabel
				    Parent_View 	@646
				    location   	(1835, 1324)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDOrdered")
				stereotype 	(object ItemLabel
				    Parent_View 	@646
				    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" @647
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1728)
				label      	(object ItemLabel
				    Parent_View 	@647
				    location   	(1835, 1669)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDCardinality")
				stereotype 	(object ItemLabel
				    Parent_View 	@647
				    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" @648
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 2032)
				label      	(object ItemLabel
				    Parent_View 	@648
				    location   	(1861, 1951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDWhiteSpace")
				stereotype 	(object ItemLabel
				    Parent_View 	@648
				    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" @649
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 2096)
				label      	(object ItemLabel
				    Parent_View 	@649
				    location   	(571, 2062)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"Value")
				stereotype 	(object ItemLabel
				    Parent_View 	@649
				    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 "" @650
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B610337"
				client     	@639
				supplier   	@621
				line_style 	3
				origin_attachment 	(75, 2044)
				terminal_attachment 	(75, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @651
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@651
				    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 	@651
				    location   	(113, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	290
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	304
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @652
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@652
				    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 	@652
				    location   	(1440, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	294
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	306
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @653
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D240098"
				client     	@651
				supplier   	@621
				line_style 	3
				origin_attachment 	(235, 1308)
				terminal_attachment 	(235, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @654
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D3103AD"
				client     	@652
				supplier   	@621
				line_style 	3
				origin_attachment 	(1581, 1308)
				terminal_attachment 	(1581, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @655
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B520353"
				client     	@637
				supplier   	@651
				line_style 	3
				origin_attachment 	(285, 1664)
				terminal_attachment 	(285, 1444))
			    (object InheritView "" @656
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8303B8"
				client     	@635
				supplier   	@652
				line_style 	3
				origin_attachment 	(1500, 1664)
				terminal_attachment 	(1500, 1444))
			    (object InheritView "" @657
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8E0309"
				client     	@636
				supplier   	@652
				line_style 	3
				origin_attachment 	(1622, 1840)
				terminal_attachment 	(1622, 1444))
			    (object InheritView "" @658
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C77C400C0"
				client     	@631
				supplier   	@621
				line_style 	3
				origin_attachment 	(447, 1485)
				terminal_attachment 	(447, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @659
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B7D00FC"
				client     	@633
				supplier   	@621
				line_style 	3
				origin_attachment 	(1397, 1485)
				terminal_attachment 	(1397, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @660
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B990016"
				client     	@640
				supplier   	@621
				line_style 	3
				origin_attachment 	(1775, 2044)
				terminal_attachment 	(1775, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @661
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 368)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@661
				    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 "" @662
				location   	(366, 522)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@661
				vertices   	(list Points
				    (366, 522)
				    (366, 430)))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @663
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@663
				    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 "" @664
				location   	(272, 781)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@663
				vertices   	(list Points
				    (272, 781)
				    (272, 687)))
			    (object InheritView "" @665
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@622
				supplier   	@663
				line_style 	3
				origin_attachment 	(594, 833)
				terminal_attachment 	(594, 781)
				drawSupplier 	@664)
			    (object ClassView "Class" "Logical View::xsd::XSDFundamentalFacet" @666
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@666
				    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 "" @667
				location   	(768, 789)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@666
				vertices   	(list Points
				    (768, 789)
				    (768, 687)))
			    (object InheritView "" @668
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7659012C"
				client     	@626
				supplier   	@666
				line_style 	3
				origin_attachment 	(2050, 860)
				terminal_attachment 	(2050, 789)
				drawSupplier 	@667)
			    (object InheritView "" @669
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C763C0224"
				client     	@627
				supplier   	@666
				line_style 	3
				origin_attachment 	(1525, 860)
				terminal_attachment 	(1525, 789)
				drawSupplier 	@667)
			    (object InheritView "" @670
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C764F0131"
				client     	@628
				supplier   	@666
				line_style 	3
				origin_attachment 	(2237, 1036)
				terminal_attachment 	(2237, 789)
				drawSupplier 	@667)
			    (object InheritView "" @671
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C76420074"
				client     	@629
				supplier   	@666
				line_style 	3
				origin_attachment 	(1328, 1037)
				terminal_attachment 	(1328, 789)
				drawSupplier 	@667)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @672
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1456, 160)
				label      	(object ItemLabel
				    Parent_View 	@672
				    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 	@672
				    location   	(1137, 107)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	628
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	656
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$127" @673
				location   	(775, 178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D597102EA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$128" @674
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @675
					    Parent_View 	@674
					    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     	@673
					supplier   	@661
					vertices   	(list Points
					    (775, 178)
					    (550, 178)
					    (550, 306))
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(550, 306))
				    (object RoleView "simpleTypeDefinition" @676
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @677
					    Parent_View 	@676
					    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     	@673
					supplier   	@672
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(1128, 178)
					label      	(object SegLabel @678
					    Parent_View 	@676
					    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$189" @679
				location   	(369, 72)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BC8AE0203A8"
				roleview_list 	(list RoleViews
				    (object RoleView "facets" @680
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @681
					    Parent_View 	@680
					    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     	@679
					supplier   	@663
					vertices   	(list Points
					    (369, 72)
					    (100, 72)
					    (100, 561))
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(100, 561)
					label      	(object SegLabel @682
					    Parent_View 	@680
					    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$190" @683
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @684
					    Parent_View 	@683
					    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     	@679
					supplier   	@672
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(1128, 72))))
			    (object AssociationViewNew "$UNNAMED$231" @685
				location   	(1538, 508)
				label      	(object SegLabel @686
				    Parent_View 	@685
				    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$232" @687
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @688
					    Parent_View 	@687
					    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     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1487, 508)
					    (1487, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1487, 285))
				    (object RoleView "itemTypeDefinition" @689
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @690
					    Parent_View 	@689
					    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     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1590, 508)
					    (1590, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1590, 285)
					label      	(object SegLabel @691
					    Parent_View 	@689
					    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$191" @692
				location   	(1729, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C34B70208"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$192" @693
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @694
					    Parent_View 	@693
					    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     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1678, 574)
					    (1678, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1678, 285))
				    (object RoleView "memberTypeDefinitions" @695
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @696
					    Parent_View 	@695
					    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     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1781, 574)
					    (1781, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1781, 285)
					label      	(object SegLabel @697
					    Parent_View 	@695
					    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$193" @698
				location   	(748, 269)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C363201DB"
				roleview_list 	(list RoleViews
				    (object RoleView "fundamentalFacets" @699
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @700
					    Parent_View 	@699
					    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     	@698
					supplier   	@666
					vertices   	(list Points
					    (748, 269)
					    (659, 269)
					    (659, 561))
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(659, 561)
					label      	(object SegLabel @701
					    Parent_View 	@699
					    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$194" @702
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @703
					    Parent_View 	@702
					    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     	@698
					supplier   	@672
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(1128, 269))))
			    (object AssociationViewNew "$UNNAMED$195" @704
				location   	(1175, 396)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$196" @705
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @706
					    Parent_View 	@705
					    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     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1135, 396)
					    (1135, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1135, 285))
				    (object RoleView "baseTypeDefinition" @707
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @708
					    Parent_View 	@707
					    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     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1215, 396)
					    (1215, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1215, 285)
					label      	(object SegLabel @709
					    Parent_View 	@707
					    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$197" @710
				location   	(1360, 446)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5572016C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$198" @711
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @712
					    Parent_View 	@711
					    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     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1309, 446)
					    (1309, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1309, 285))
				    (object RoleView "primitiveTypeDefinition" @713
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @714
					    Parent_View 	@713
					    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     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1412, 446)
					    (1412, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1412, 285)
					label      	(object SegLabel @715
					    Parent_View 	@713
					    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" @716
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 512)
				label      	(object ItemLabel
				    Parent_View 	@716
				    location   	(1917, 428)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@716
				    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 	@716
				    location   	(1917, 488)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	3
				    max_width  	238
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @717
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 176)
				label      	(object ItemLabel
				    Parent_View 	@717
				    location   	(1918, 92)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@717
				    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 "" @718
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C7B0396"
				client     	@666
				supplier   	@661
				line_style 	3
				origin_attachment 	(591, 561)
				terminal_attachment 	(591, 522)
				drawSupplier 	@662)
			    (object InheritView "" @719
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@663
				supplier   	@661
				line_style 	3
				origin_attachment 	(272, 561)
				terminal_attachment 	(272, 522)
				drawSupplier 	@662)
			    (object InheritView "" @720
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@661
				supplier   	@643
				line_style 	3
				origin_attachment 	(366, 306)
				terminal_attachment 	(366, 215))
			    (object InheritView "" @721
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8801B4"
				client     	@621
				supplier   	@663
				line_style 	3
				origin_attachment 	(147, 828)
				terminal_attachment 	(147, 781)
				drawSupplier 	@664)
			    (object InheritView "" @722
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B590281"
				client     	@638
				supplier   	@651
				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" @723
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 80)
				label      	(object ItemLabel
				    Parent_View 	@723
				    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" @724
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1696)
				label      	(object ItemLabel
				    Parent_View 	@724
				    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" @725
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 1504)
				label      	(object ItemLabel
				    Parent_View 	@725
				    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" @726
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 304)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@726
				    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" @727
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1360)
				label      	(object ItemLabel
				    Parent_View 	@727
				    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" @728
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 704)
				label      	(object ItemLabel
				    Parent_View 	@728
				    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" @729
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 1184)
				label      	(object ItemLabel
				    Parent_View 	@729
				    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" @730
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 544)
				label      	(object ItemLabel
				    Parent_View 	@730
				    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" @731
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 80)
				label      	(object ItemLabel
				    Parent_View 	@731
				    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" @732
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1216)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@732
				    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 "" @733
				location   	(1994, 1412)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@732
				vertices   	(list Points
				    (1994, 1412)
				    (1994, 1271)))
			    (object InheritView "" @734
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@725
				supplier   	@732
				line_style 	3
				origin_attachment 	(2084, 1449)
				terminal_attachment 	(2084, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @735
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@735
				    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" @736
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@736
				    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" @737
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 384)
				label      	(object ItemLabel
				    Parent_View 	@737
				    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" @738
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 224)
				label      	(object ItemLabel
				    Parent_View 	@738
				    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" @739
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1792, 1712)
				label      	(object ItemLabel
				    Parent_View 	@739
				    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 "" @740
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@739
				supplier   	@732
				line_style 	3
				origin_attachment 	(1572, 1662)
				terminal_attachment 	(1572, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @741
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1024)
				label      	(object ItemLabel
				    Parent_View 	@741
				    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" @742
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@742
				    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" @743
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1536)
				label      	(object ItemLabel
				    Parent_View 	@743
				    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" @744
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 944)
				label      	(object ItemLabel
				    Parent_View 	@744
				    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$133" @745
				location   	(865, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0D0183"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$134" @746
					Parent_View 	@745
					location   	(-255, 559)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D033C"
					client     	@745
					supplier   	@727
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(671, 1359))
				    (object RoleView "annotation" @747
					Parent_View 	@745
					location   	(-255, 559)
					label      	(object SegLabel @748
					    Parent_View 	@747
					    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     	@745
					supplier   	@744
					vertices   	(list Points
					    (865, 1359)
					    (925, 1359)
					    (925, 1215))
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(925, 1215)
					label      	(object SegLabel @749
					    Parent_View 	@747
					    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$157" @750
				location   	(713, 709)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0F0212"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$158" @751
					Parent_View 	@750
					location   	(-407, -90)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000C9"
					client     	@750
					supplier   	@728
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(563, 709))
				    (object RoleView "annotation" @752
					Parent_View 	@750
					location   	(-407, -90)
					label      	(object SegLabel @753
					    Parent_View 	@752
					    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     	@750
					supplier   	@744
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(863, 709)
					label      	(object SegLabel @754
					    Parent_View 	@752
					    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$151" @755
				location   	(719, 1193)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB15008A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$152" @756
					Parent_View 	@755
					location   	(-401, 393)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB160096"
					client     	@755
					supplier   	@729
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(575, 1193))
				    (object RoleView "annotation" @757
					Parent_View 	@755
					location   	(-401, 393)
					label      	(object SegLabel @758
					    Parent_View 	@757
					    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     	@755
					supplier   	@744
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(863, 1193)
					label      	(object SegLabel @759
					    Parent_View 	@757
					    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$111" @760
				location   	(785, 550)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0A0066"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$112" @761
					Parent_View 	@760
					location   	(-335, -250)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B023F"
					client     	@760
					supplier   	@730
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(563, 550))
				    (object RoleView "annotation" @762
					Parent_View 	@760
					location   	(-335, -250)
					label      	(object SegLabel @763
					    Parent_View 	@762
					    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     	@760
					supplier   	@744
					vertices   	(list Points
					    (785, 550)
					    (884, 550)
					    (884, 673))
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(884, 673)
					label      	(object SegLabel @764
					    Parent_View 	@762
					    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$183" @765
				location   	(1184, 404)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E4560290"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$184" @766
					Parent_View 	@765
					location   	(-32, -412)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E4570165"
					client     	@765
					supplier   	@731
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 135))
				    (object RoleView "annotations" @767
					Parent_View 	@765
					location   	(-32, -412)
					label      	(object SegLabel @768
					    Parent_View 	@767
					    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     	@765
					supplier   	@744
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 673)
					label      	(object SegLabel @769
					    Parent_View 	@767
					    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$199" @770
				location   	(1752, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E2910158"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$200" @771
					Parent_View 	@770
					location   	(536, 218)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E292019F"
					client     	@770
					supplier   	@732
					vertices   	(list Points
					    (1752, 1034)
					    (1812, 1034)
					    (1812, 1161))
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1812, 1161))
				    (object RoleView "annotation" @772
					Parent_View 	@770
					location   	(536, 218)
					label      	(object SegLabel @773
					    Parent_View 	@772
					    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     	@770
					supplier   	@744
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1601, 1034)
					label      	(object SegLabel @774
					    Parent_View 	@772
					    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$201" @775
				location   	(1896, 881)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B9006CF0088"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$202" @776
					Parent_View 	@775
					location   	(621, 40)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D1015D"
					client     	@775
					supplier   	@732
					vertices   	(list Points
					    (1896, 881)
					    (1956, 881)
					    (1956, 1161))
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1956, 1161))
				    (object RoleView "derivationAnnotation" @777
					Parent_View 	@775
					location   	(621, 40)
					label      	(object SegLabel @778
					    Parent_View 	@777
					    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     	@775
					supplier   	@744
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1601, 881)
					label      	(object SegLabel @779
					    Parent_View 	@777
					    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$203" @780
				location   	(2040, 715)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB330264"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$204" @781
					Parent_View 	@780
					location   	(920, -85)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB340284"
					client     	@780
					supplier   	@732
					vertices   	(list Points
					    (2040, 715)
					    (2100, 715)
					    (2100, 1161))
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(2100, 1161))
				    (object RoleView "annotations" @782
					Parent_View 	@780
					location   	(920, -85)
					label      	(object SegLabel @783
					    Parent_View 	@782
					    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     	@780
					supplier   	@744
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(1601, 715)
					label      	(object SegLabel @784
					    Parent_View 	@782
					    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$221" @785
				location   	(668, 865)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C239134004F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$222" @786
					Parent_View 	@785
					location   	(-612, 33)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600CA"
					client     	@785
					supplier   	@735
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(473, 865))
				    (object RoleView "annotation" @787
					Parent_View 	@785
					location   	(-612, 33)
					label      	(object SegLabel @788
					    Parent_View 	@787
					    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     	@785
					supplier   	@744
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(863, 865)
					label      	(object SegLabel @789
					    Parent_View 	@787
					    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$125" @790
				location   	(1472, 167)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D23B901CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$126" @791
					Parent_View 	@790
					location   	(256, -649)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01C4"
					client     	@790
					supplier   	@736
					vertices   	(list Points
					    (1472, 167)
					    (1472, 72)
					    (1883, 72))
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1883, 72))
				    (object RoleView "annotation" @792
					Parent_View 	@790
					location   	(256, -649)
					label      	(object SegLabel @793
					    Parent_View 	@792
					    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     	@790
					supplier   	@744
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1472, 673)
					label      	(object SegLabel @794
					    Parent_View 	@792
					    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$75" @795
				location   	(927, 350)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB060291"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$76" @796
					Parent_View 	@795
					location   	(-193, -450)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070171"
					client     	@795
					supplier   	@737
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(629, 350))
				    (object RoleView "annotation" @797
					Parent_View 	@795
					location   	(-193, -450)
					label      	(object SegLabel @798
					    Parent_View 	@797
					    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     	@795
					supplier   	@744
					vertices   	(list Points
					    (927, 350)
					    (987, 350)
					    (987, 673))
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(987, 673)
					label      	(object SegLabel @799
					    Parent_View 	@797
					    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$67" @800
				location   	(1027, 222)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DADC02F5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$68" @801
					Parent_View 	@800
					location   	(-93, -578)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0238"
					client     	@800
					supplier   	@738
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(563, 222))
				    (object RoleView "annotation" @802
					Parent_View 	@800
					location   	(-93, -578)
					label      	(object SegLabel @803
					    Parent_View 	@802
					    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     	@800
					supplier   	@744
					vertices   	(list Points
					    (1027, 222)
					    (1087, 222)
					    (1087, 673))
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(1087, 673)
					label      	(object SegLabel @804
					    Parent_View 	@802
					    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$91" @805
				location   	(1494, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B90068801C2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$92" @806
					Parent_View 	@805
					location   	(214, 590)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A0111"
					client     	@805
					supplier   	@739
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1662))
				    (object RoleView "contentAnnotation" @807
					Parent_View 	@805
					location   	(214, 590)
					label      	(object SegLabel @808
					    Parent_View 	@807
					    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     	@805
					supplier   	@744
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1215)
					label      	(object SegLabel @809
					    Parent_View 	@807
					    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$145" @810
				location   	(637, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB1702C8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$146" @811
					Parent_View 	@810
					location   	(-483, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1803E2"
					client     	@810
					supplier   	@741
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(411, 1022))
				    (object RoleView "annotation" @812
					Parent_View 	@810
					location   	(-483, 222)
					label      	(object SegLabel @813
					    Parent_View 	@812
					    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     	@810
					supplier   	@744
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(863, 1022)
					label      	(object SegLabel @814
					    Parent_View 	@812
					    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$65" @815
				location   	(1581, 607)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EA70102"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$66" @816
					Parent_View 	@815
					location   	(301, -225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90191"
					client     	@815
					supplier   	@742
					vertices   	(list Points
					    (1581, 607)
					    (1581, 547)
					    (1679, 547))
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1679, 547))
				    (object RoleView "annotations" @817
					Parent_View 	@815
					location   	(301, -225)
					label      	(object SegLabel @818
					    Parent_View 	@817
					    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     	@815
					supplier   	@744
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1581, 673)
					label      	(object SegLabel @819
					    Parent_View 	@817
					    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$205" @820
				location   	(849, 1496)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB11026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$206" @821
					Parent_View 	@820
					location   	(-271, 696)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1201F9"
					client     	@820
					supplier   	@743
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(354, 1496))
				    (object RoleView "annotation" @822
					Parent_View 	@820
					location   	(-271, 696)
					label      	(object SegLabel @823
					    Parent_View 	@822
					    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     	@820
					supplier   	@744
					vertices   	(list Points
					    (849, 1496)
					    (1062, 1496)
					    (1062, 1215))
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(1062, 1215)
					label      	(object SegLabel @824
					    Parent_View 	@822
					    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$207" @825
				location   	(952, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EB30005"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$208" @826
					Parent_View 	@825
					location   	(-328, 733)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40327"
					client     	@825
					supplier   	@743
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(354, 1565))
				    (object RoleView "annotations" @827
					Parent_View 	@825
					location   	(-328, 733)
					label      	(object SegLabel @828
					    Parent_View 	@827
					    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     	@825
					supplier   	@744
					vertices   	(list Points
					    (952, 1565)
					    (1200, 1565)
					    (1200, 1215))
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(1200, 1215)
					label      	(object SegLabel @829
					    Parent_View 	@827
					    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 "" @830
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@726
				supplier   	@736
				line_style 	3
				origin_attachment 	(1984, 249)
				terminal_attachment 	(1984, 135))
			    (object InheritView "" @831
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@742
				supplier   	@726
				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" @832
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@832
				    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" @833
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@833
				    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" @834
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@834
				    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" @835
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@835
				    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 "" @836
				location   	(1360, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@835
				vertices   	(list Points
				    (1360, 561)
				    (1360, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDInclude" @837
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1200)
				label      	(object ItemLabel
				    Parent_View 	@837
				    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" @838
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 944)
				label      	(object ItemLabel
				    Parent_View 	@838
				    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" @839
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1200)
				label      	(object ItemLabel
				    Parent_View 	@839
				    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" @840
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1200)
				label      	(object ItemLabel
				    Parent_View 	@840
				    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$143" @841
				location   	(1368, 1206)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCC5007E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$144" @842
					Parent_View 	@841
					location   	(1160, 406)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006B"
					client     	@841
					supplier   	@837
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1503, 1206))
				    (object RoleView "annotation" @843
					Parent_View 	@841
					location   	(1160, 406)
					label      	(object SegLabel @844
					    Parent_View 	@843
					    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     	@841
					supplier   	@840
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1234, 1206)
					label      	(object SegLabel @845
					    Parent_View 	@843
					    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$141" @846
				location   	(1168, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCD802FC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$142" @847
					Parent_View 	@846
					location   	(960, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018B"
					client     	@846
					supplier   	@838
					vertices   	(list Points
					    (1168, 1022)
					    (1168, 962)
					    (1285, 962))
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1285, 962))
				    (object RoleView "annotation" @848
					Parent_View 	@846
					location   	(960, 222)
					label      	(object SegLabel @849
					    Parent_View 	@848
					    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     	@846
					supplier   	@840
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1168, 1141)
					label      	(object SegLabel @850
					    Parent_View 	@848
					    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$163" @851
				location   	(1563, 1353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADE42009A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$164" @852
					Parent_View 	@851
					location   	(1355, 553)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE4302FE"
					client     	@851
					supplier   	@839
					vertices   	(list Points
					    (1563, 1353)
					    (1940, 1353)
					    (1940, 1255))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1940, 1255))
				    (object RoleView "annotations" @853
					Parent_View 	@851
					location   	(1355, 553)
					label      	(object SegLabel @854
					    Parent_View 	@853
					    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     	@851
					supplier   	@840
					vertices   	(list Points
					    (1563, 1353)
					    (1181, 1353)
					    (1181, 1259))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1181, 1259)
					label      	(object SegLabel @855
					    Parent_View 	@853
					    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 "" @856
				location   	(288, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@832
				vertices   	(list Points
				    (288, 561)
				    (288, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @857
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@857
				    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" @858
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@858
				    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" @859
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 960)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@859
				    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" @860
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@860
				    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 "" @861
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@860
				supplier   	@832
				line_style 	3
				origin_attachment 	(221, 617)
				terminal_attachment 	(221, 561)
				drawSupplier 	@856)
			    (object InheritView "" @862
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@857
				supplier   	@832
				line_style 	3
				origin_attachment 	(589, 617)
				terminal_attachment 	(589, 561)
				drawSupplier 	@856)
			    (object InheritView "" @863
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@834
				supplier   	@835
				line_style 	3
				origin_attachment 	(1016, 617)
				terminal_attachment 	(1016, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @864
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@864
				    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 "" @865
				location   	(1824, 1089)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@864
				vertices   	(list Points
				    (1824, 1089)
				    (1824, 999)))
			    (object InheritView "" @866
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8DC0381"
				client     	@837
				supplier   	@864
				line_style 	3
				origin_attachment 	(1666, 1145)
				terminal_attachment 	(1666, 1089)
				drawSupplier 	@865)
			    (object InheritView "" @867
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@839
				supplier   	@864
				line_style 	3
				origin_attachment 	(1934, 1145)
				terminal_attachment 	(1934, 1089)
				drawSupplier 	@865)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @868
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@868
				    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 "" @869
				location   	(1762, 819)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@868
				vertices   	(list Points
				    (1762, 819)
				    (1762, 727)))
			    (object InheritView "" @870
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@838
				supplier   	@868
				line_style 	3
				origin_attachment 	(1416, 889)
				terminal_attachment 	(1416, 819)
				drawSupplier 	@869)
			    (object InheritView "" @871
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@868
				supplier   	@835
				line_style 	3
				origin_attachment 	(1756, 617)
				terminal_attachment 	(1756, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @872
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1120, 144)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@872
				    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 "" @873
				location   	(1120, 289)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@872
				vertices   	(list Points
				    (1120, 289)
				    (1120, 199)))
			    (object AssociationViewNew "$UNNAMED$105" @874
				location   	(1485, 215)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B0803C7"
				roleview_list 	(list RoleViews
				    (object RoleView "container" @875
					Parent_View 	@874
					location   	(989, 103)
					label      	(object SegLabel @876
					    Parent_View 	@875
					    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     	@874
					supplier   	@872
					vertices   	(list Points
					    (1485, 215)
					    (1485, 176)
					    (1374, 176))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1374, 176)
					label      	(object SegLabel @877
					    Parent_View 	@875
					    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$106" @878
					Parent_View 	@874
					location   	(989, 103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CF"
					client     	@874
					supplier   	@872
					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$107" @879
				location   	(773, 216)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B480261"
				roleview_list 	(list RoleViews
				    (object RoleView "rootContainer" @880
					Parent_View 	@879
					location   	(53, 104)
					label      	(object SegLabel @881
					    Parent_View 	@880
					    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     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 176)
					    (866, 176))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(866, 176)
					label      	(object SegLabel @882
					    Parent_View 	@880
					    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$108" @883
					Parent_View 	@879
					location   	(53, 104)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0286"
					client     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 257)
					    (895, 257)
					    (895, 199))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(895, 199))))
			    (object InheritView "" @884
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@835
				supplier   	@872
				line_style 	3
				origin_attachment 	(1367, 361)
				terminal_attachment 	(1367, 289)
				drawSupplier 	@873)
			    (object InheritView "" @885
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D8E200EA"
				client     	@833
				supplier   	@872
				line_style 	3
				origin_attachment 	(752, 361)
				terminal_attachment 	(752, 289)
				drawSupplier 	@873)
			    (object InheritView "" @886
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@832
				supplier   	@872
				line_style 	3
				origin_attachment 	(299, 361)
				terminal_attachment 	(299, 289)
				drawSupplier 	@873)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @887
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1200)
				label      	(object ItemLabel
				    Parent_View 	@887
				    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 "" @888
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@887
				supplier   	@860
				line_style 	3
				origin_attachment 	(216, 1145)
				terminal_attachment 	(216, 727))
			    (object AssociationViewNew "$UNNAMED$219" @889
				location   	(1382, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$220" @890
					Parent_View 	@889
					location   	(1190, 225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@889
					supplier   	@864
					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" @891
					Parent_View 	@889
					location   	(1190, 225)
					label      	(object SegLabel @892
					    Parent_View 	@891
					    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     	@889
					supplier   	@887
					vertices   	(list Points
					    (1382, 1425)
					    (225, 1425)
					    (225, 1255))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(225, 1255)
					label      	(object SegLabel @893
					    Parent_View 	@891
					    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$217" @894
				location   	(1505, 1503)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$218" @895
					Parent_View 	@894
					location   	(1313, 303)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@894
					supplier   	@868
					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" @896
					Parent_View 	@894
					location   	(1313, 303)
					label      	(object SegLabel @897
					    Parent_View 	@896
					    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     	@894
					supplier   	@887
					vertices   	(list Points
					    (1505, 1503)
					    (113, 1503)
					    (113, 1255))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(113, 1255)
					label      	(object SegLabel @898
					    Parent_View 	@896
					    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$109" @899
				location   	(66, 244)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751C310356"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$110" @900
					Parent_View 	@899
					location   	(-94, -444)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C330331"
					client     	@899
					supplier   	@872
					vertices   	(list Points
					    (66, 244)
					    (66, 144)
					    (866, 144))
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(866, 144))
				    (object RoleView "schema" @901
					Parent_View 	@899
					location   	(-94, -444)
					label      	(object SegLabel @902
					    Parent_View 	@901
					    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     	@899
					supplier   	@887
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(66, 1145)
					label      	(object SegLabel @903
					    Parent_View 	@901
					    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 "" @904
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B780BD90059"
				client     	@858
				supplier   	@872
				line_style 	3
				origin_attachment 	(1759, 361)
				terminal_attachment 	(1759, 289)
				drawSupplier 	@873)
			    (object InheritView "" @905
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@840
				supplier   	@832
				line_style 	3
				origin_attachment 	(400, 1141)
				terminal_attachment 	(400, 561)
				drawSupplier 	@856)
			    (object InheritTreeView "" @906
				location   	(1012, 837)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@834
				vertices   	(list Points
				    (1012, 837)
				    (1012, 727)))
			    (object InheritView "" @907
				stereotype 	(object SegLabel @908
				    Parent_View 	@907
				    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     	@840
				supplier   	@834
				line_style 	3
				origin_attachment 	(1037, 1141)
				terminal_attachment 	(1037, 837)
				drawSupplier 	@906)
			    (object InheritView "" @909
				stereotype 	(object SegLabel @910
				    Parent_View 	@909
				    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     	@859
				supplier   	@834
				line_style 	3
				origin_attachment 	(925, 905)
				terminal_attachment 	(925, 837)
				drawSupplier 	@906)
			    (object InheritView "" @911
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@864
				supplier   	@868
				line_style 	3
				origin_attachment 	(1828, 889)
				terminal_attachment 	(1828, 819)
				drawSupplier 	@869)))
		    (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" @912
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@912
				    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 	@912
				    location   	(1938, 1419)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	412
				    compartmentItems 	(list Compartment
					"+ form : XSDForm"
					"+ lexicalValue : String"))
				width      	430
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDForm" @913
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2560, 1424)
				label      	(object ItemLabel
				    Parent_View 	@913
				    location   	(2398, 1365)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDForm")
				stereotype 	(object ItemLabel
				    Parent_View 	@913
				    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"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @914
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 96)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@914
				    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 	@914
				    location   	(40, 97)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	482
				    compartmentItems 	(list Compartment
					"+ element : DOMElement"))
				width      	675
				height     	143
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @915
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@915
				    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" @916
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@916
				    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" @917
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 1408)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@917
				    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" @918
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(864, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@918
				    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 "" @919
				location   	(850, 537)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@915
				vertices   	(list Points
				    (850, 537)
				    (850, 447)))
			    (object ClassView "Class" "Logical View::xsd::DOMElement" @920
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1248, 128)
				label      	(object ItemLabel
				    Parent_View 	@920
				    location   	(873, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"DOMElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@920
				    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"
				width      	769
				height     	200
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @921
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 640)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@921
				    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"
				width      	512
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @922
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@922
				    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 "" @923
				location   	(368, 263)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@914
				vertices   	(list Points
				    (368, 263)
				    (368, 167)))
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @924
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1456)
				label      	(object ItemLabel
				    Parent_View 	@924
				    location   	(723, 1347)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@924
				    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 	@924
				    location   	(723, 1407)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	264
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	556
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @925
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1792)
				label      	(object ItemLabel
				    Parent_View 	@925
				    location   	(614, 1708)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@925
				    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 	@925
				    location   	(614, 1768)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	234
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	550
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @926
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 2096)
				label      	(object ItemLabel
				    Parent_View 	@926
				    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 	@926
				    location   	(532, 2100)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	764
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDSimpleFinal"))
				width      	778
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @927
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@927
				    location   	(45, 1875)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@927
				    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"
				width      	344
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @928
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2544, 2016)
				label      	(object ItemLabel
				    Parent_View 	@928
				    location   	(2362, 1932)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@928
				    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"
				width      	382
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @929
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1360)
				label      	(object ItemLabel
				    Parent_View 	@929
				    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 	@929
				    location   	(41, 1339)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	630
				    compartmentItems 	(list Compartment
					"+ use : XSDAttributeUseCategory"
					"+ lexicalValue : String"))
				width      	640
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUseCategory" @930
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1632)
				label      	(object ItemLabel
				    Parent_View 	@930
				    location   	(41, 1548)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDAttributeUseCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@930
				    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"
				width      	512
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @931
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2608, 928)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@931
				    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" @932
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2240, 1712)
				label      	(object ItemLabel
				    Parent_View 	@932
				    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 	@932
				    location   	(1757, 1691)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	973
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDProhibitedSubstitutions"
					"<<0..*>> + block : XSDDisallowedSubstitutions"))
				width      	984
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @933
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 1152)
				label      	(object ItemLabel
				    Parent_View 	@933
				    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 	@933
				    location   	(1828, 1156)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	888
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalNamespaceConstraint : String"))
				width      	906
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @934
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1008)
				label      	(object ItemLabel
				    Parent_View 	@934
				    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"
				width      	1014
				height     	486
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @935
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 960)
				label      	(object ItemLabel
				    Parent_View 	@935
				    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"
				width      	424
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @936
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1344, 656)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@936
				    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 	@936
				    location   	(1138, 660)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	414
				    compartmentItems 	(list Compartment
					"+ lexicalValue : String"))
				width      	430
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @937
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@937
				    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 	@937
				    location   	(1410, 2002)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	870
				    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" @938
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1488, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@938
				    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 "" @939
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@938
				supplier   	@917
				line_style 	3
				origin_attachment 	(1506, 1632)
				terminal_attachment 	(1506, 1472))
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @940
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2208, 704)
				label      	(object ItemLabel
				    Parent_View 	@940
				    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"
				width      	918
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @941
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@931
				supplier   	@915
				line_style 	3
				origin_attachment 	(2696, 869)
				terminal_attachment 	(2696, 537)
				drawSupplier 	@919)
			    (object InheritView "" @942
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@932
				supplier   	@912
				line_style 	3
				origin_attachment 	(2094, 1619)
				terminal_attachment 	(2094, 1533))
			    (object InheritTreeView "" @943
				location   	(1487, 1856)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@938
				vertices   	(list Points
				    (1487, 1856)
				    (1487, 1760)))
			    (object ClassView "Class" "Logical View::xsd::DOMAttr" @944
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2400, 384)
				label      	(object ItemLabel
				    Parent_View 	@944
				    location   	(2080, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"DOMAttr")
				stereotype 	(object ItemLabel
				    Parent_View 	@944
				    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"
				width      	658
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @945
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@937
				supplier   	@938
				line_style 	3
				origin_attachment 	(1734, 1930)
				terminal_attachment 	(1734, 1856)
				drawSupplier 	@943)
			    (object InheritView "" @946
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@936
				supplier   	@915
				line_style 	3
				origin_attachment 	(1328, 588)
				terminal_attachment 	(1328, 537)
				drawSupplier 	@919)
			    (object InheritView "" @947
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@940
				supplier   	@915
				line_style 	3
				origin_attachment 	(2190, 586)
				terminal_attachment 	(2190, 537)
				drawSupplier 	@919)
			    (object InheritView "" @948
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@921
				supplier   	@922
				line_style 	3
				origin_attachment 	(222, 572)
				terminal_attachment 	(222, 447))
			    (object InheritView "" @949
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@922
				supplier   	@914
				line_style 	3
				origin_attachment 	(260, 321)
				terminal_attachment 	(260, 263)
				drawSupplier 	@923)
			    (object InheritView "" @950
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@935
				supplier   	@921
				line_style 	3
				origin_attachment 	(223, 892)
				terminal_attachment 	(223, 708))
			    (object InheritView "" @951
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@933
				supplier   	@931
				line_style 	3
				origin_attachment 	(2600, 1084)
				terminal_attachment 	(2600, 987))
			    (object ClassView "Class" "Logical View::xsd::DOMDocument" @952
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 128)
				label      	(object ItemLabel
				    Parent_View 	@952
				    location   	(1957, 94)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"DOMDocument")
				stereotype 	(object ItemLabel
				    Parent_View 	@952
				    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"
				width      	776
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @953
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@915
				supplier   	@914
				line_style 	3
				origin_attachment 	(856, 321)
				terminal_attachment 	(856, 263)
				drawSupplier 	@923)
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @954
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 384)
				label      	(object ItemLabel
				    Parent_View 	@954
				    location   	(1234, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@954
				    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"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @955
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@918
				supplier   	@915
				line_style 	3
				origin_attachment 	(850, 561)
				terminal_attachment 	(850, 537)
				drawSupplier 	@919)
			    (object InheritView "" @956
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@929
				supplier   	@915
				line_style 	3
				origin_attachment 	(575, 1267)
				terminal_attachment 	(575, 537)
				drawSupplier 	@919)
			    (object InheritView "" @957
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@916
				supplier   	@915
				line_style 	3
				origin_attachment 	(1694, 880)
				terminal_attachment 	(1694, 537)
				drawSupplier 	@919)
			    (object InheritView "" @958
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@934
				supplier   	@918
				line_style 	3
				origin_attachment 	(856, 765)
				terminal_attachment 	(856, 687))
			    (object InheritTreeView "" @959
				location   	(1703, 1290)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@916
				vertices   	(list Points
				    (1703, 1290)
				    (1703, 1008)))
			    (object InheritView "" @960
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@917
				supplier   	@916
				line_style 	3
				origin_attachment 	(1503, 1344)
				terminal_attachment 	(1503, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @961
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@912
				supplier   	@916
				line_style 	3
				origin_attachment 	(2093, 1347)
				terminal_attachment 	(2093, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @962
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@926
				supplier   	@938
				line_style 	3
				origin_attachment 	(1253, 2028)
				terminal_attachment 	(1253, 1856)
				drawSupplier 	@943)))
		    (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" @963
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2672, 992)
				label      	(object ItemLabel
				    Parent_View 	@963
				    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" @964
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2640, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@964
				    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" @965
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 784)
				label      	(object ItemLabel
				    Parent_View 	@965
				    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" @966
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@966
				    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 "" @967
				location   	(1943, 868)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@966
				vertices   	(list Points
				    (1943, 868)
				    (1943, 631)))
			    (object AssociationViewNew "$UNNAMED$165" @968
				location   	(2125, 680)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE8240051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$166" @969
					Parent_View 	@968
					location   	(157, 344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602AD"
					client     	@968
					supplier   	@965
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 729))
				    (object RoleView "contents" @970
					Parent_View 	@968
					location   	(157, 344)
					label      	(object SegLabel @971
					    Parent_View 	@970
					    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     	@968
					supplier   	@966
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 631)
					label      	(object SegLabel @972
					    Parent_View 	@970
					    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" @973
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@973
				    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 "" @974
				location   	(272, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@973
				vertices   	(list Points
				    (272, 465)
				    (272, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @975
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1168)
				label      	(object ItemLabel
				    Parent_View 	@975
				    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" @976
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 576)
				label      	(object ItemLabel
				    Parent_View 	@976
				    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$153" @977
				location   	(1170, 1356)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "modelGroup" @978
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @979
					    Parent_View 	@978
					    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     	@977
					supplier   	@976
					vertices   	(list Points
					    (1170, 1356)
					    (206, 1356)
					    (206, 631))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(206, 631)
					label      	(object SegLabel @980
					    Parent_View 	@978
					    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$154" @981
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @982
					    Parent_View 	@981
					    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     	@977
					supplier   	@975
					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" @983
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(160, 1696)
				label      	(object ItemLabel
				    Parent_View 	@983
				    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$147" @984
				location   	(122, 1136)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6BCEB102F8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$148" @985
					Parent_View 	@984
					location   	(-630, -256)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB6001B"
					client     	@984
					supplier   	@976
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 631))
				    (object RoleView "contents" @986
					Parent_View 	@984
					location   	(-630, -256)
					label      	(object SegLabel @987
					    Parent_View 	@986
					    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     	@984
					supplier   	@983
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 1641)
					label      	(object SegLabel @988
					    Parent_View 	@986
					    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" @989
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@989
				    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$159" @990
				location   	(47, 885)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B47150119"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$160" @991
					Parent_View 	@990
					location   	(-289, 821)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03AB"
					client     	@990
					supplier   	@983
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 1641))
				    (object RoleView "content" @992
					Parent_View 	@990
					location   	(-289, 821)
					label      	(object SegLabel @993
					    Parent_View 	@992
					    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     	@990
					supplier   	@989
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 130)
					label      	(object SegLabel @994
					    Parent_View 	@992
					    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" @995
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 896)
				label      	(object ItemLabel
				    Parent_View 	@995
				    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" @996
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1168)
				label      	(object ItemLabel
				    Parent_View 	@996
				    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$89" @997
				location   	(1319, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6F1DE9018A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$90" @998
					Parent_View 	@997
					location   	(-57, -102)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA036C"
					client     	@997
					supplier   	@995
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 955))
				    (object RoleView "content" @999
					Parent_View 	@997
					location   	(-57, -102)
					label      	(object SegLabel @1000
					    Parent_View 	@999
					    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     	@997
					supplier   	@996
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 1113)
					label      	(object SegLabel @1001
					    Parent_View 	@999
					    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" @1002
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1002
				    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" @1003
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1003
				    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$185" @1004
				location   	(1351, 1840)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5CA50112"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$186" @1005
					Parent_View 	@1004
					location   	(-297, 224)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703B4"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1294, 1840)
					    (1294, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1294, 1751))
				    (object RoleView "contents" @1006
					Parent_View 	@1004
					location   	(-297, 224)
					label      	(object SegLabel @1007
					    Parent_View 	@1006
					    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     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1409, 1840)
					    (1409, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1409, 1751)
					label      	(object SegLabel @1008
					    Parent_View 	@1006
					    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$69" @1009
				location   	(1190, 1432)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6890D6006F"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1010
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1011
					    Parent_View 	@1010
					    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     	@1009
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1641)
					label      	(object SegLabel @1012
					    Parent_View 	@1010
					    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$70" @1013
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1014
					    Parent_View 	@1013
					    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     	@1009
					supplier   	@996
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1223))))
			    (object AssociationViewNew "$UNNAMED$187" @1015
				location   	(1690, 1684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C35AD0374"
				roleview_list 	(list RoleViews
				    (object RoleView "facetContents" @1016
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1017
					    Parent_View 	@1016
					    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     	@1015
					supplier   	@1002
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1846, 1684)
					label      	(object SegLabel @1018
					    Parent_View 	@1016
					    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$188" @1019
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1020
					    Parent_View 	@1019
					    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     	@1015
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1534, 1684))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1021
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2624, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1021
				    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" @1022
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1022
				    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" @1023
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 320)
				label      	(object ItemLabel
				    Parent_View 	@1023
				    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$167" @1024
				location   	(963, 319)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B688E6B003D"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1025
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1026
					    Parent_View 	@1025
					    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     	@1024
					supplier   	@1022
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(1099, 319)
					label      	(object SegLabel @1027
					    Parent_View 	@1025
					    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$168" @1028
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1029
					    Parent_View 	@1028
					    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     	@1024
					supplier   	@1023
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(828, 319))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1030
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1030
				    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 "" @1031
				location   	(2322, 1593)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1030
				vertices   	(list Points
				    (2322, 1593)
				    (2322, 1047)))
			    (object InheritView "" @1032
				stereotype 	(object SegLabel @1033
				    Parent_View 	@1032
				    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     	@1030
				supplier   	@966
				line_style 	3
				origin_attachment 	(2150, 937)
				terminal_attachment 	(2150, 868)
				drawSupplier 	@967)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1034
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 576)
				label      	(object ItemLabel
				    Parent_View 	@1034
				    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$113" @1035
				location   	(1498, 1431)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68911401AF"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1036
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1037
					    Parent_View 	@1036
					    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     	@1035
					supplier   	@1030
					vertices   	(list Points
					    (1498, 1431)
					    (2281, 1431)
					    (2281, 1047))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(2281, 1047)
					label      	(object SegLabel @1038
					    Parent_View 	@1036
					    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$114" @1039
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1040
					    Parent_View 	@1039
					    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     	@1035
					supplier   	@1034
					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" @1041
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1041
				    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" @1042
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 896)
				label      	(object ItemLabel
				    Parent_View 	@1042
				    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$117" @1043
				location   	(534, 736)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "identityConstraintDefinitions" @1044
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1045
					    Parent_View 	@1044
					    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     	@1043
					supplier   	@1042
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 841)
					label      	(object SegLabel @1046
					    Parent_View 	@1044
					    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$118" @1047
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1048
					    Parent_View 	@1047
					    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     	@1043
					supplier   	@1034
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 632))))
			    (object AssociationViewNew "$UNNAMED$137" @1049
				location   	(900, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "selector" @1050
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1051
					    Parent_View 	@1050
					    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     	@1049
					supplier   	@1041
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 1113)
					label      	(object SegLabel @1052
					    Parent_View 	@1050
					    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$138" @1053
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1054
					    Parent_View 	@1053
					    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     	@1049
					supplier   	@1042
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 951))))
			    (object AssociationViewNew "$UNNAMED$139" @1055
				location   	(700, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "fields" @1056
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1057
					    Parent_View 	@1056
					    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     	@1055
					supplier   	@1041
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 1113)
					label      	(object SegLabel @1058
					    Parent_View 	@1056
					    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$140" @1059
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1060
					    Parent_View 	@1059
					    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     	@1055
					supplier   	@1042
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 951))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @1061
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1061
				    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 "" @1062
				location   	(550, 1590)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1061
				vertices   	(list Points
				    (550, 1590)
				    (550, 1495)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @1063
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1063
				    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 "" @1064
				location   	(1406, 765)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1063
				vertices   	(list Points
				    (1406, 765)
				    (1406, 631)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1065
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1065
				    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$95" @1066
				location   	(1614, 1868)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6FDDD70113"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$96" @1067
					Parent_View 	@1066
					location   	(526, 476)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA026B"
					client     	@1066
					supplier   	@1065
					vertices   	(list Points
					    (1614, 1868)
					    (2500, 1868)
					    (2500, 1751))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(2500, 1751))
				    (object RoleView "content" @1068
					Parent_View 	@1066
					location   	(526, 476)
					label      	(object SegLabel @1069
					    Parent_View 	@1068
					    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     	@1066
					supplier   	@1061
					vertices   	(list Points
					    (1614, 1868)
					    (984, 1868)
					    (984, 1495))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(984, 1495)
					label      	(object SegLabel @1070
					    Parent_View 	@1068
					    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$101" @1071
				location   	(2927, 387)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B698E360386"
				roleview_list 	(list RoleViews
				    (object RoleView "attributeContents" @1072
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1073
					    Parent_View 	@1072
					    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     	@1071
					supplier   	@1063
					vertices   	(list Points
					    (2927, 387)
					    (1750, 387)
					    (1750, 521))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(1750, 521)
					label      	(object SegLabel @1074
					    Parent_View 	@1072
					    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$102" @1075
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1076
					    Parent_View 	@1075
					    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     	@1071
					supplier   	@1065
					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" @1077
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1077
				    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$77" @1078
				location   	(1750, 872)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69404E0067"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1079
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1080
					    Parent_View 	@1079
					    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     	@1078
					supplier   	@1063
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 631)
					label      	(object SegLabel @1081
					    Parent_View 	@1079
					    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$78" @1082
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1083
					    Parent_View 	@1082
					    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     	@1078
					supplier   	@1077
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 1113))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1084
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1084
				    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$209" @1085
				location   	(1252, 1896)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BEBDC870247"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$210" @1086
					Parent_View 	@1085
					location   	(708, 1288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C02F9"
					client     	@1085
					supplier   	@1065
					vertices   	(list Points
					    (1252, 1896)
					    (2603, 1896)
					    (2603, 1751))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(2603, 1751))
				    (object RoleView "attributeWildcardContent" @1087
					Parent_View 	@1085
					location   	(708, 1288)
					label      	(object SegLabel @1088
					    Parent_View 	@1087
					    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     	@1085
					supplier   	@1084
					vertices   	(list Points
					    (1252, 1896)
					    (428, 1896)
					    (428, 1223))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(428, 1223)
					label      	(object SegLabel @1089
					    Parent_View 	@1087
					    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$81" @1090
				location   	(1199, 1321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C275D320220"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$82" @1091
					Parent_View 	@1090
					location   	(655, 713)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010C"
					client     	@1090
					supplier   	@1077
					vertices   	(list Points
					    (1199, 1321)
					    (1897, 1321)
					    (1897, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(1897, 1223))
				    (object RoleView "attributeWildcardContent" @1092
					Parent_View 	@1090
					location   	(655, 713)
					label      	(object SegLabel @1093
					    Parent_View 	@1092
					    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     	@1090
					supplier   	@1084
					vertices   	(list Points
					    (1199, 1321)
					    (500, 1321)
					    (500, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(500, 1223)
					label      	(object SegLabel @1094
					    Parent_View 	@1092
					    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 "" @1095
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1065
				supplier   	@1030
				line_style 	3
				origin_attachment 	(2606, 1641)
				terminal_attachment 	(2606, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1096
				stereotype 	(object SegLabel @1097
				    Parent_View 	@1096
				    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     	@1034
				supplier   	@973
				line_style 	3
				origin_attachment 	(753, 520)
				terminal_attachment 	(753, 465)
				drawSupplier 	@974)
			    (object InheritView "" @1098
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1003
				supplier   	@1030
				line_style 	3
				origin_attachment 	(1409, 1641)
				terminal_attachment 	(1409, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1099
				stereotype 	(object SegLabel @1100
				    Parent_View 	@1099
				    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     	@1003
				supplier   	@1061
				line_style 	3
				origin_attachment 	(1144, 1641)
				terminal_attachment 	(1144, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1101
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@976
				supplier   	@973
				line_style 	3
				origin_attachment 	(166, 521)
				terminal_attachment 	(166, 465)
				drawSupplier 	@974)
			    (object InheritTreeView "" @1102
				location   	(431, 222)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@989
				vertices   	(list Points
				    (431, 222)
				    (431, 130)))
			    (object InheritView "" @1103
				stereotype 	(object SegLabel @1104
				    Parent_View 	@1103
				    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     	@973
				supplier   	@989
				line_style 	3
				origin_attachment 	(275, 265)
				terminal_attachment 	(275, 222)
				drawSupplier 	@1102)
			    (object InheritTreeView "" @1105
				location   	(1309, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1022
				vertices   	(list Points
				    (1309, 465)
				    (1309, 375)))
			    (object InheritView "" @1106
				stereotype 	(object SegLabel @1107
				    Parent_View 	@1106
				    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     	@1034
				supplier   	@1022
				line_style 	3
				origin_attachment 	(931, 520)
				terminal_attachment 	(931, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1108
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@983
				supplier   	@1061
				line_style 	3
				origin_attachment 	(250, 1641)
				terminal_attachment 	(250, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1109
				stereotype 	(object SegLabel @1110
				    Parent_View 	@1109
				    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     	@996
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1197, 1113)
				terminal_attachment 	(1197, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1111
				stereotype 	(object SegLabel @1112
				    Parent_View 	@1111
				    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     	@1077
				supplier   	@966
				line_style 	3
				origin_attachment 	(1878, 1113)
				terminal_attachment 	(1878, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1113
				stereotype 	(object SegLabel @1114
				    Parent_View 	@1113
				    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     	@1077
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1703, 1113)
				terminal_attachment 	(1703, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1115
				stereotype 	(object SegLabel @1116
				    Parent_View 	@1115
				    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     	@995
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1284, 837)
				terminal_attachment 	(1284, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1117
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@965
				supplier   	@1021
				line_style 	3
				origin_attachment 	(2284, 762)
				terminal_attachment 	(2379, 762))
			    (object InheritView "" @1118
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@964
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2637, 521)
				terminal_attachment 	(2637, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1119
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1021
				supplier   	@964
				line_style 	3
				origin_attachment 	(2637, 729)
				terminal_attachment 	(2637, 631))
			    (object InheritView "" @1120
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@966
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1950, 521)
				terminal_attachment 	(1950, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1121
				stereotype 	(object SegLabel @1122
				    Parent_View 	@1121
				    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     	@963
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2896, 937)
				terminal_attachment 	(2896, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1123
				stereotype 	(object SegLabel @1124
				    Parent_View 	@1123
				    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     	@975
				supplier   	@966
				line_style 	3
				origin_attachment 	(2381, 1109)
				terminal_attachment 	(2381, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1125
				stereotype 	(object SegLabel @1126
				    Parent_View 	@1125
				    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     	@975
				supplier   	@989
				line_style 	3
				origin_attachment 	(2943, 1109)
				terminal_attachment 	(2943, 222)
				drawSupplier 	@1102)
			    (object InheritView "" @1127
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@1084
				supplier   	@973
				line_style 	3
				origin_attachment 	(462, 1113)
				terminal_attachment 	(462, 465)
				drawSupplier 	@974)))
		    (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" @1128
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1128
				    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$119" @1129
				location   	(228, 1695)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B41E60251"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$120" @1130
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1131
					    Parent_View 	@1130
					    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     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (175, 1695)
					    (175, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(175, 1591))
				    (object RoleView "resolvedElementDeclaration" @1132
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1133
					    Parent_View 	@1132
					    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     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (281, 1695)
					    (281, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(281, 1591)
					label      	(object SegLabel @1134
					    Parent_View 	@1132
					    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" @1135
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1135
				    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$155" @1136
				location   	(952, 1698)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B42450398"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$156" @1137
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1138
					    Parent_View 	@1137
					    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     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (901, 1698)
					    (901, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(901, 1591))
				    (object RoleView "resolvedModelGroupDefinition" @1139
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1140
					    Parent_View 	@1139
					    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     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (1004, 1698)
					    (1004, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(1004, 1591)
					label      	(object SegLabel @1141
					    Parent_View 	@1139
					    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" @1142
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1142
				    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" @1143
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1143
				    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" @1144
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 416)
				label      	(object ItemLabel
				    Parent_View 	@1144
				    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$219" @1145
				location   	(1303, 679)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "incorporatedSchema" @1146
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1147
					    Parent_View 	@1146
					    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     	@1145
					supplier   	@1144
					vertices   	(list Points
					    (1303, 679)
					    (1303, 419)
					    (843, 419))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(843, 419)
					label      	(object SegLabel @1148
					    Parent_View 	@1146
					    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$220" @1149
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1150
					    Parent_View 	@1149
					    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     	@1145
					supplier   	@1142
					vertices   	(list Points
					    (1303, 679)
					    (1303, 997)
					    (901, 997))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(901, 997))))
			    (object AssociationViewNew "$UNNAMED$217" @1151
				location   	(1216, 649)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedSchema" @1152
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1153
					    Parent_View 	@1152
					    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     	@1151
					supplier   	@1144
					vertices   	(list Points
					    (1216, 649)
					    (1216, 534)
					    (843, 534))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(843, 534)
					label      	(object SegLabel @1154
					    Parent_View 	@1152
					    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$218" @1155
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1156
					    Parent_View 	@1155
					    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     	@1151
					supplier   	@1143
					vertices   	(list Points
					    (1216, 649)
					    (1216, 797)
					    (877, 797))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(877, 797))))
			    (object AssociationViewNew "$UNNAMED$223" @1157
				location   	(662, 642)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25D3A60131"
				roleview_list 	(list RoleViews
				    (object RoleView "referencingDirectives" @1158
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1159
					    Parent_View 	@1158
					    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     	@1157
					supplier   	@1143
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 725)
					label      	(object SegLabel @1160
					    Parent_View 	@1158
					    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$224" @1161
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1162
					    Parent_View 	@1161
					    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     	@1157
					supplier   	@1144
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 559))))
			    (object AssociationViewNew "$UNNAMED$225" @1163
				location   	(75, 188)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ECF0005E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$226" @1164
					Parent_View 	@1163
					location   	(-853, -308)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF4001E"
					client     	@1163
					supplier   	@1144
					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" @1165
					Parent_View 	@1163
					location   	(-853, -308)
					label      	(object SegLabel @1166
					    Parent_View 	@1165
					    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     	@1163
					supplier   	@1144
					vertices   	(list Points
					    (75, 188)
					    (75, 380)
					    (437, 380))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(437, 380)
					label      	(object SegLabel @1167
					    Parent_View 	@1165
					    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$227" @1168
				location   	(1262, 134)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ED0B011B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$228" @1169
					Parent_View 	@1168
					location   	(334, -362)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F0121"
					client     	@1168
					supplier   	@1144
					vertices   	(list Points
					    (1262, 134)
					    (766, 134)
					    (766, 273))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(766, 273))
				    (object RoleView "originalVersion" @1170
					Parent_View 	@1168
					location   	(334, -362)
					label      	(object SegLabel @1171
					    Parent_View 	@1170
					    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     	@1168
					supplier   	@1144
					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 @1172
					    Parent_View 	@1170
					    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$229" @1173
				location   	(126, 656)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25EEAB001F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$230" @1174
					Parent_View 	@1173
					location   	(-834, 160)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF010B"
					client     	@1173
					supplier   	@1144
					vertices   	(list Points
					    (126, 656)
					    (513, 656)
					    (513, 559))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(513, 559))
				    (object RoleView "incorporatedVersions" @1175
					Parent_View 	@1173
					location   	(-834, 160)
					label      	(object SegLabel @1176
					    Parent_View 	@1175
					    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     	@1173
					supplier   	@1144
					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 @1177
					    Parent_View 	@1175
					    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$233" @1178
				location   	(642, 126)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2784730194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$234" @1179
					Parent_View 	@1178
					location   	(82, -418)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501F1"
					client     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (588, 126)
					    (588, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(588, 273))
				    (object RoleView "schemaForSchema" @1180
					Parent_View 	@1178
					location   	(82, -418)
					label      	(object SegLabel @1181
					    Parent_View 	@1180
					    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     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (697, 126)
					    (697, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(697, 273)
					label      	(object SegLabel @1182
					    Parent_View 	@1180
					    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 "" @1183
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1142
				supplier   	@1143
				line_style 	3
				origin_attachment 	(638, 937)
				terminal_attachment 	(638, 843))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1184
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1184
				    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$73" @1185
				location   	(234, 1340)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B426B0194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$74" @1186
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1187
					    Parent_View 	@1186
					    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     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (181, 1340)
					    (181, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(181, 1239))
				    (object RoleView "resolvedAttributeDeclaration" @1188
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1189
					    Parent_View 	@1188
					    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     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (287, 1340)
					    (287, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(287, 1239)
					label      	(object SegLabel @1190
					    Parent_View 	@1188
					    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" @1191
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1760, 144)
				label      	(object ItemLabel
				    Parent_View 	@1191
				    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" @1192
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1192
				    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$307" @1193
				location   	(1668, 280)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4AE01CC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$308" @1194
					Parent_View 	@1193
					location   	(8, -152)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF010F"
					client     	@1193
					supplier   	@1191
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 199))
				    (object RoleView "syntheticFacets" @1195
					Parent_View 	@1193
					location   	(8, -152)
					label      	(object SegLabel @1196
					    Parent_View 	@1195
					    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     	@1193
					supplier   	@1192
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 361)
					label      	(object SegLabel @1197
					    Parent_View 	@1195
					    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" @1198
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 944)
				label      	(object ItemLabel
				    Parent_View 	@1198
				    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" @1199
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 640)
				label      	(object ItemLabel
				    Parent_View 	@1199
				    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$309" @1200
				location   	(1508, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D3028E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$310" @1201
					Parent_View 	@1200
					location   	(-12, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402F3"
					client     	@1200
					supplier   	@1199
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 695))
				    (object RoleView "syntheticParticle" @1202
					Parent_View 	@1200
					location   	(-12, -280)
					label      	(object SegLabel @1203
					    Parent_View 	@1202
					    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     	@1200
					supplier   	@1198
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 889)
					label      	(object SegLabel @1204
					    Parent_View 	@1202
					    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" @1205
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1205
				    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$85" @1206
				location   	(919, 1349)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B425E01F9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$86" @1207
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1208
					    Parent_View 	@1207
					    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     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (866, 1349)
					    (866, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(866, 1239))
				    (object RoleView "resolvedAttributeGroupDefinition" @1209
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1210
					    Parent_View 	@1209
					    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     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (973, 1349)
					    (973, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(973, 1239)
					label      	(object SegLabel @1211
					    Parent_View 	@1209
					    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" @1212
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1952, 944)
				label      	(object ItemLabel
				    Parent_View 	@1212
				    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$311" @1213
				location   	(2025, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D901F6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$312" @1214
					Parent_View 	@1213
					location   	(153, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA0284"
					client     	@1213
					supplier   	@1199
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 695))
				    (object RoleView "syntheticWildcard" @1215
					Parent_View 	@1213
					location   	(153, -280)
					label      	(object SegLabel @1216
					    Parent_View 	@1215
					    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     	@1213
					supplier   	@1212
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 889)
					label      	(object SegLabel @1217
					    Parent_View 	@1215
					    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$313" @1218
				location   	(1754, 1178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C68FF01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$314" @1219
					Parent_View 	@1218
					location   	(-198, 234)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020317"
					client     	@1218
					supplier   	@1205
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(1301, 1178))
				    (object RoleView "syntheticWildcard" @1220
					Parent_View 	@1218
					location   	(-198, 234)
					label      	(object SegLabel @1221
					    Parent_View 	@1220
					    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     	@1218
					supplier   	@1212
					vertices   	(list Points
					    (1754, 1178)
					    (2028, 1178)
					    (2028, 999))
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(2028, 999)
					label      	(object SegLabel @1222
					    Parent_View 	@1220
					    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" @1223
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(400, 1024)
				label      	(object ItemLabel
				    Parent_View 	@1223
				    location   	(66, 990)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@1223
				    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" @1224
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 656)
				label      	(object ItemLabel
				    Parent_View 	@1224
				    location   	(818, 547)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDDiagnosticSeverity")
				stereotype 	(object ItemLabel
				    Parent_View 	@1224
				    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" @1225
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 112)
				label      	(object ItemLabel
				    Parent_View 	@1225
				    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" @1226
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(896, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1226
				    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" @1227
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 608)
				label      	(object ItemLabel
				    Parent_View 	@1227
				    location   	(64, 402)
				    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     	436
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$215" @1228
				location   	(144, 283)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE6431035F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$216" @1229
					Parent_View 	@1228
					location   	(-1088, -661)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C6"
					client     	@1228
					supplier   	@1225
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 176))
				    (object RoleView "allDiagnostics" @1230
					Parent_View 	@1228
					location   	(-1088, -661)
					label      	(object SegLabel @1231
					    Parent_View 	@1230
					    location   	(309, 330)
					    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     	@1228
					supplier   	@1227
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 390)
					label      	(object SegLabel @1232
					    Parent_View 	@1230
					    location   	(96, 327)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420561
					    height     	49
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$211" @1233
				location   	(1028, 440)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE622703CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$212" @1234
					Parent_View 	@1233
					location   	(-396, -72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B0061"
					client     	@1233
					supplier   	@1227
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(713, 440))
				    (object RoleView "components" @1235
					Parent_View 	@1233
					location   	(-396, -72)
					label      	(object SegLabel @1236
					    Parent_View 	@1235
					    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     	@1233
					supplier   	@1226
					vertices   	(list Points
					    (1028, 440)
					    (1088, 440)
					    (1088, 174))
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(1088, 174)
					label      	(object SegLabel @1237
					    Parent_View 	@1235
					    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$213" @1238
				location   	(688, 282)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE62690165"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$214" @1239
					Parent_View 	@1238
					location   	(160, -278)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0026"
					client     	@1238
					supplier   	@1226
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 174))
				    (object RoleView "diagnostics" @1240
					Parent_View 	@1238
					location   	(160, -278)
					label      	(object SegLabel @1241
					    Parent_View 	@1240
					    location   	(822, 330)
					    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     	@1238
					supplier   	@1227
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 390)
					label      	(object SegLabel @1242
					    Parent_View 	@1240
					    location   	(645, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.494737
					    height     	44
					    orientation 	1))))
			    (object InheritView "" @1243
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C0F4C01A1"
				client     	@1227
				supplier   	@1226
				line_style 	3
				origin_attachment 	(575, 390)
				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" @1244
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(464, 816)
				label      	(object ItemLabel
				    Parent_View 	@1244
				    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"
				width      	852
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1245
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2112, 880)
				label      	(object ItemLabel
				    Parent_View 	@1245
				    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" @1246
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1246
				    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" @1247
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2384, 112)
				label      	(object ItemLabel
				    Parent_View 	@1247
				    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$237" @1248
				location   	(1382, 84)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2882C50137"
				roleview_list 	(list RoleViews
				    (object RoleView "primaryComponent" @1249
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1250
					    Parent_View 	@1249
					    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     	@1248
					supplier   	@1246
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(537, 84)
					label      	(object SegLabel @1251
					    Parent_View 	@1249
					    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$238" @1252
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1253
					    Parent_View 	@1252
					    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     	@1248
					supplier   	@1247
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(2227, 84))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1254
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 688)
				label      	(object ItemLabel
				    Parent_View 	@1254
				    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 	@1254
				    location   	(1778, 667)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	764
				    compartmentItems 	(list Compartment
					"+ elementDeclarationReference : boolean"
					"+ circular : boolean"))
				width      	782
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1255
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1072)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1255
				    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 	@1255
				    location   	(2100, 1051)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	459
				    compartmentItems 	(list Compartment
					"+ facetName : String"
					"+ effectiveValue : Value"))
				width      	458
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1256
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 624)
				label      	(object ItemLabel
				    Parent_View 	@1256
				    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 	@1256
				    location   	(47, 628)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	805
				    compartmentItems 	(list Compartment
					"+ modelGroupDefinitionReference : boolean"))
				width      	820
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @1257
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 288)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1257
				    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 	@1257
				    location   	(1005, 217)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	4
				    max_width  	392
				    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" @1258
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 352)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1258
				    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 "" @1259
				location   	(320, 510)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1258
				vertices   	(list Points
				    (320, 510)
				    (320, 420)))
			    (object InheritView "" @1260
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@1256
				supplier   	@1258
				line_style 	3
				origin_attachment 	(81, 556)
				terminal_attachment 	(81, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1261
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@1244
				supplier   	@1258
				line_style 	3
				origin_attachment 	(877, 748)
				terminal_attachment 	(877, 510)
				drawSupplier 	@1259)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @1262
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1808)
				label      	(object ItemLabel
				    Parent_View 	@1262
				    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" @1263
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1776)
				label      	(object ItemLabel
				    Parent_View 	@1263
				    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" @1264
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1936)
				label      	(object ItemLabel
				    Parent_View 	@1264
				    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" @1265
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 1968)
				label      	(object ItemLabel
				    Parent_View 	@1265
				    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" @1266
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1424)
				label      	(object ItemLabel
				    Parent_View 	@1266
				    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" @1267
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1264)
				label      	(object ItemLabel
				    Parent_View 	@1267
				    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" @1268
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 1392)
				label      	(object ItemLabel
				    Parent_View 	@1268
				    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" @1269
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1232)
				label      	(object ItemLabel
				    Parent_View 	@1269
				    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" @1270
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1616)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1270
				    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 	@1270
				    location   	(2135, 1595)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	405
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @1271
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2288)
				label      	(object ItemLabel
				    Parent_View 	@1271
				    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" @1272
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 2624)
				label      	(object ItemLabel
				    Parent_View 	@1272
				    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" @1273
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 2128)
				label      	(object ItemLabel
				    Parent_View 	@1273
				    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" @1274
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2096)
				label      	(object ItemLabel
				    Parent_View 	@1274
				    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" @1275
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 2272)
				label      	(object ItemLabel
				    Parent_View 	@1275
				    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" @1276
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1584)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1276
				    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 	@1276
				    location   	(38, 1563)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	405
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	422
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @1277
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2464)
				label      	(object ItemLabel
				    Parent_View 	@1277
				    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" @1278
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2448)
				label      	(object ItemLabel
				    Parent_View 	@1278
				    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" @1279
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2608)
				label      	(object ItemLabel
				    Parent_View 	@1279
				    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" @1280
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 1152)
				label      	(object ItemLabel
				    Parent_View 	@1280
				    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" @1281
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 1072)
				label      	(object ItemLabel
				    Parent_View 	@1281
				    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" @1282
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 1360)
				label      	(object ItemLabel
				    Parent_View 	@1282
				    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 	@1282
				    location   	(944, 1364)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	575
				    compartmentItems 	(list Compartment
					"<<0..*>> + validFacets : String"))
				width      	594
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$249" @1283
				location   	(1446, 1218)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A994030A"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1284
					Parent_View 	@1283
					location   	(582, -78)
					label      	(object SegLabel @1285
					    Parent_View 	@1284
					    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     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1487, 1218)
					    (1487, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1487, 1292)
					label      	(object SegLabel @1286
					    Parent_View 	@1284
					    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$250" @1287
					Parent_View 	@1283
					location   	(582, -78)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700E7"
					client     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1405, 1218)
					    (1405, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1405, 1292))))
			    (object AssociationViewNew "$UNNAMED$253" @1288
				location   	(1733, 1575)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B08D0252"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$254" @1289
					Parent_View 	@1288
					location   	(917, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E0091"
					client     	@1288
					supplier   	@1282
					vertices   	(list Points
					    (1733, 1575)
					    (1487, 1575)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "maxFacet" @1290
					Parent_View 	@1288
					location   	(917, 7)
					label      	(object SegLabel @1291
					    Parent_View 	@1290
					    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     	@1288
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(2126, 1575)
					label      	(object SegLabel @1292
					    Parent_View 	@1290
					    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$255" @1293
				location   	(1587, 1793)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AB0396"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$256" @1294
					Parent_View 	@1293
					location   	(707, -31)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03C9"
					client     	@1293
					supplier   	@1282
					vertices   	(list Points
					    (1587, 1793)
					    (1447, 1793)
					    (1447, 1428))
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(1447, 1428))
				    (object RoleView "maxInclusiveFacet" @1295
					Parent_View 	@1293
					location   	(707, -31)
					label      	(object SegLabel @1296
					    Parent_View 	@1295
					    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     	@1293
					supplier   	@1262
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(2092, 1793)
					label      	(object SegLabel @1297
					    Parent_View 	@1295
					    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$257" @1298
				location   	(937, 1787)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AF0338"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$258" @1299
					Parent_View 	@1298
					location   	(617, -5)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B001F9"
					client     	@1298
					supplier   	@1282
					vertices   	(list Points
					    (937, 1787)
					    (997, 1787)
					    (997, 1428))
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(997, 1428))
				    (object RoleView "minInclusiveFacet" @1300
					Parent_View 	@1298
					location   	(617, -5)
					label      	(object SegLabel @1301
					    Parent_View 	@1300
					    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     	@1298
					supplier   	@1263
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(518, 1787)
					label      	(object SegLabel @1302
					    Parent_View 	@1300
					    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$259" @1303
				location   	(981, 1937)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B30207"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$260" @1304
					Parent_View 	@1303
					location   	(677, -79)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B40190"
					client     	@1303
					supplier   	@1282
					vertices   	(list Points
					    (981, 1937)
					    (1041, 1937)
					    (1041, 1428))
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(1041, 1428))
				    (object RoleView "minExclusiveFacet" @1305
					Parent_View 	@1303
					location   	(677, -79)
					label      	(object SegLabel @1306
					    Parent_View 	@1305
					    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     	@1303
					supplier   	@1264
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(518, 1937)
					label      	(object SegLabel @1307
					    Parent_View 	@1305
					    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$261" @1308
				location   	(1469, 1953)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B6028D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$262" @1309
					Parent_View 	@1308
					location   	(621, -95)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70217"
					client     	@1308
					supplier   	@1282
					vertices   	(list Points
					    (1469, 1953)
					    (1400, 1953)
					    (1400, 1428))
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(1400, 1428))
				    (object RoleView "maxExclusiveFacet" @1310
					Parent_View 	@1308
					location   	(621, -95)
					label      	(object SegLabel @1311
					    Parent_View 	@1310
					    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     	@1308
					supplier   	@1265
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(2064, 1953)
					label      	(object SegLabel @1312
					    Parent_View 	@1310
					    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$263" @1313
				location   	(1122, 2180)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BC0051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$264" @1314
					Parent_View 	@1313
					location   	(-318, 628)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0246"
					client     	@1313
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "lengthFacet" @1315
					Parent_View 	@1313
					location   	(-318, 628)
					label      	(object SegLabel @1316
					    Parent_View 	@1315
					    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     	@1313
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2180)
					    (1122, 2240)
					    (387, 2240))
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(387, 2240)
					label      	(object SegLabel @1317
					    Parent_View 	@1315
					    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$267" @1318
				location   	(1084, 1989)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C2021D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$268" @1319
					Parent_View 	@1318
					location   	(-1380, 437)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AB"
					client     	@1318
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "enumerationFacets" @1320
					Parent_View 	@1318
					location   	(-1380, 437)
					label      	(object SegLabel @1321
					    Parent_View 	@1320
					    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     	@1318
					supplier   	@1274
					vertices   	(list Points
					    (1084, 1989)
					    (1084, 2049)
					    (485, 2049))
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(485, 2049)
					label      	(object SegLabel @1322
					    Parent_View 	@1320
					    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$269" @1323
				location   	(1451, 2074)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C50159"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$270" @1324
					Parent_View 	@1323
					location   	(-1525, 538)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600B0"
					client     	@1323
					supplier   	@1282
					vertices   	(list Points
					    (1451, 2074)
					    (1362, 2074)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "patternFacets" @1325
					Parent_View 	@1323
					location   	(-1525, 538)
					label      	(object SegLabel @1326
					    Parent_View 	@1325
					    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     	@1323
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(2187, 2074)
					label      	(object SegLabel @1327
					    Parent_View 	@1325
					    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$271" @1328
				location   	(1827, 1400)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C802A7"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$272" @1329
					Parent_View 	@1328
					location   	(-1149, -472)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901EA"
					client     	@1328
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(1529, 1400))
				    (object RoleView "cardinalityFacet" @1330
					Parent_View 	@1328
					location   	(-1149, -472)
					label      	(object SegLabel @1331
					    Parent_View 	@1330
					    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     	@1328
					supplier   	@1266
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(2125, 1400)
					label      	(object SegLabel @1332
					    Parent_View 	@1330
					    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$281" @1333
				location   	(1262, 2413)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DB0377"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$282" @1334
					Parent_View 	@1333
					location   	(-786, 301)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC035A"
					client     	@1333
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "fractionDigitsFacet" @1335
					Parent_View 	@1333
					location   	(-786, 301)
					label      	(object SegLabel @1336
					    Parent_View 	@1335
					    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     	@1333
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2413)
					    (1262, 2596)
					    (2065, 2596))
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(2065, 2596)
					label      	(object SegLabel @1337
					    Parent_View 	@1335
					    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$285" @1338
				location   	(1841, 1306)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0E300D9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$286" @1339
					Parent_View 	@1338
					location   	(-1135, -790)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E4038E"
					client     	@1338
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(1529, 1306))
				    (object RoleView "boundedFacet" @1340
					Parent_View 	@1338
					location   	(-1135, -790)
					label      	(object SegLabel @1341
					    Parent_View 	@1340
					    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     	@1338
					supplier   	@1267
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(2154, 1306)
					label      	(object SegLabel @1342
					    Parent_View 	@1340
					    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$265" @1343
				location   	(1328, 2186)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BF018C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$266" @1344
					Parent_View 	@1343
					location   	(-640, 634)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C0006B"
					client     	@1343
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "whiteSpaceFacet" @1345
					Parent_View 	@1343
					location   	(-640, 634)
					label      	(object SegLabel @1346
					    Parent_View 	@1345
					    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     	@1343
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2186)
					    (1328, 2246)
					    (2093, 2246))
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(2093, 2246)
					label      	(object SegLabel @1347
					    Parent_View 	@1345
					    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$283" @1348
				location   	(674, 1390)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DF0048"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$284" @1349
					Parent_View 	@1348
					location   	(-1854, -706)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03B9"
					client     	@1348
					supplier   	@1282
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(935, 1390))
				    (object RoleView "orderedFacet" @1350
					Parent_View 	@1348
					location   	(-1854, -706)
					label      	(object SegLabel @1351
					    Parent_View 	@1350
					    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     	@1348
					supplier   	@1268
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(414, 1390)
					label      	(object SegLabel @1352
					    Parent_View 	@1350
					    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$273" @1353
				location   	(687, 1296)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CB039C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$274" @1354
					Parent_View 	@1353
					location   	(-1809, -576)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D0"
					client     	@1353
					supplier   	@1282
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(935, 1296))
				    (object RoleView "numericFacet" @1355
					Parent_View 	@1353
					location   	(-1809, -576)
					label      	(object SegLabel @1356
					    Parent_View 	@1355
					    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     	@1353
					supplier   	@1269
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(440, 1296)
					label      	(object SegLabel @1357
					    Parent_View 	@1355
					    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$287" @1358
				location   	(1689, 1662)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B44401EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$288" @1359
					Parent_View 	@1358
					location   	(-183, -354)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B4450360"
					client     	@1358
					supplier   	@1282
					vertices   	(list Points
					    (1689, 1662)
					    (1487, 1662)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "effectiveMaxFacet" @1360
					Parent_View 	@1358
					location   	(-183, -354)
					label      	(object SegLabel @1361
					    Parent_View 	@1360
					    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     	@1358
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(2126, 1662)
					label      	(object SegLabel @1362
					    Parent_View 	@1360
					    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$289" @1363
				location   	(1328, 2258)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B54F0145"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$290" @1364
					Parent_View 	@1363
					location   	(-1072, -462)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B550038C"
					client     	@1363
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "effectiveWhiteSpaceFacet" @1365
					Parent_View 	@1363
					location   	(-1072, -462)
					label      	(object SegLabel @1366
					    Parent_View 	@1365
					    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     	@1363
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2258)
					    (1328, 2324)
					    (2093, 2324))
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(2093, 2324)
					label      	(object SegLabel @1367
					    Parent_View 	@1365
					    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$291" @1368
				location   	(1297, 2366)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B5C4011C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$292" @1369
					Parent_View 	@1368
					location   	(-607, -722)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C5020D"
					client     	@1368
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "effectiveMaxLengthFacet" @1370
					Parent_View 	@1368
					location   	(-607, -722)
					label      	(object SegLabel @1371
					    Parent_View 	@1370
					    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     	@1368
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2366)
					    (1297, 2499)
					    (2102, 2499))
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(2102, 2499)
					label      	(object SegLabel @1372
					    Parent_View 	@1370
					    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$293" @1373
				location   	(1262, 2449)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B62A00AA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$294" @1374
					Parent_View 	@1373
					location   	(-1170, -815)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0138"
					client     	@1373
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "effectiveFractionDigitsFacet" @1375
					Parent_View 	@1373
					location   	(-1170, -815)
					label      	(object SegLabel @1376
					    Parent_View 	@1375
					    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     	@1373
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2449)
					    (1262, 2668)
					    (2065, 2668))
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(2065, 2668)
					label      	(object SegLabel @1377
					    Parent_View 	@1375
					    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$295" @1378
				location   	(1422, 2159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B6B003A6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$296" @1379
					Parent_View 	@1378
					location   	(-770, -1313)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10311"
					client     	@1378
					supplier   	@1282
					vertices   	(list Points
					    (1422, 2159)
					    (1362, 2159)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "effectivePatternFacet" @1380
					Parent_View 	@1378
					location   	(-770, -1313)
					label      	(object SegLabel @1381
					    Parent_View 	@1380
					    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     	@1378
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(2187, 2159)
					label      	(object SegLabel @1382
					    Parent_View 	@1380
					    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$297" @1383
				location   	(1084, 2083)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B7CA026B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$298" @1384
					Parent_View 	@1383
					location   	(828, -1373)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0186"
					client     	@1383
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "effectiveEnumerationFacet" @1385
					Parent_View 	@1383
					location   	(828, -1373)
					label      	(object SegLabel @1386
					    Parent_View 	@1385
					    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     	@1383
					supplier   	@1274
					vertices   	(list Points
					    (1084, 2083)
					    (1084, 2143)
					    (485, 2143))
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(485, 2143)
					label      	(object SegLabel @1387
					    Parent_View 	@1385
					    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$303" @1388
				location   	(1122, 2241)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8DC0052"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$304" @1389
					Parent_View 	@1388
					location   	(866, -479)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03B9"
					client     	@1388
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "effectiveLengthFacet" @1390
					Parent_View 	@1388
					location   	(866, -479)
					label      	(object SegLabel @1391
					    Parent_View 	@1390
					    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     	@1388
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2241)
					    (1122, 2318)
					    (387, 2318))
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(387, 2318)
					label      	(object SegLabel @1392
					    Parent_View 	@1390
					    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$251" @1393
				location   	(773, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B085025B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$252" @1394
					Parent_View 	@1393
					location   	(469, 13)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0860270"
					client     	@1393
					supplier   	@1282
					vertices   	(list Points
					    (773, 1565)
					    (959, 1565)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(959, 1428))
				    (object RoleView "minFacet" @1395
					Parent_View 	@1393
					location   	(469, 13)
					label      	(object SegLabel @1396
					    Parent_View 	@1395
					    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     	@1393
					supplier   	@1276
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(451, 1565)
					label      	(object SegLabel @1397
					    Parent_View 	@1395
					    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$305" @1398
				location   	(816, 1650)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B97001DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$306" @1399
					Parent_View 	@1398
					location   	(496, -334)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100CF"
					client     	@1398
					supplier   	@1282
					vertices   	(list Points
					    (816, 1650)
					    (959, 1650)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(959, 1428))
				    (object RoleView "effectiveMinFacet" @1400
					Parent_View 	@1398
					location   	(496, -334)
					label      	(object SegLabel @1401
					    Parent_View 	@1400
					    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     	@1398
					supplier   	@1276
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(451, 1650)
					label      	(object SegLabel @1402
					    Parent_View 	@1400
					    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$275" @1403
				location   	(1297, 2321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CF0199"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$276" @1404
					Parent_View 	@1403
					location   	(-719, 497)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D20085"
					client     	@1403
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "maxLengthFacet" @1405
					Parent_View 	@1403
					location   	(-719, 497)
					label      	(object SegLabel @1406
					    Parent_View 	@1405
					    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     	@1403
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2321)
					    (1297, 2409)
					    (2102, 2409))
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(2102, 2409)
					label      	(object SegLabel @1407
					    Parent_View 	@1405
					    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$277" @1408
				location   	(1159, 2273)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D500C5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$278" @1409
					Parent_View 	@1408
					location   	(-281, 449)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D6001D"
					client     	@1408
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(1159, 1428))
				    (object RoleView "minLengthFacet" @1410
					Parent_View 	@1408
					location   	(-281, 449)
					label      	(object SegLabel @1411
					    Parent_View 	@1410
					    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     	@1408
					supplier   	@1278
					vertices   	(list Points
					    (1159, 2273)
					    (1159, 2409)
					    (450, 2409))
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(450, 2409)
					label      	(object SegLabel @1412
					    Parent_View 	@1410
					    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$301" @1413
				location   	(1197, 2334)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B898016D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$302" @1414
					Parent_View 	@1413
					location   	(941, -610)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990056"
					client     	@1413
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(1197, 1428))
				    (object RoleView "effectiveMinLengthFacet" @1415
					Parent_View 	@1413
					location   	(941, -610)
					label      	(object SegLabel @1416
					    Parent_View 	@1415
					    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     	@1413
					supplier   	@1278
					vertices   	(list Points
					    (1197, 2334)
					    (1197, 2493)
					    (450, 2493))
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(450, 2493)
					label      	(object SegLabel @1417
					    Parent_View 	@1415
					    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$299" @1418
				location   	(1231, 2438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8400062"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$300" @1419
					Parent_View 	@1418
					location   	(863, -746)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B841001D"
					client     	@1418
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "effectiveTotalDigitsFacet" @1420
					Parent_View 	@1418
					location   	(863, -746)
					label      	(object SegLabel @1421
					    Parent_View 	@1420
					    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     	@1418
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2438)
					    (1231, 2668)
					    (451, 2668))
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(451, 2668)
					label      	(object SegLabel @1422
					    Parent_View 	@1420
					    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$279" @1423
				location   	(1231, 2397)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D800DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$280" @1424
					Parent_View 	@1423
					location   	(-209, 253)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803CD"
					client     	@1423
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "totalDigitsFacet" @1425
					Parent_View 	@1423
					location   	(-209, 253)
					label      	(object SegLabel @1426
					    Parent_View 	@1425
					    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     	@1423
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2397)
					    (1231, 2587)
					    (451, 2587))
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(451, 2587)
					label      	(object SegLabel @1427
					    Parent_View 	@1425
					    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" @1428
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 768)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1428
				    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 "" @1429
				location   	(1209, 1065)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1428
				vertices   	(list Points
				    (1209, 1065)
				    (1209, 974)))
			    (object AssociationViewNew "$UNNAMED$235" @1430
				location   	(1090, 1031)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2880F503D9"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1431
					Parent_View 	@1430
					location   	(322, -25)
					label      	(object SegLabel @1432
					    Parent_View 	@1431
					    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     	@1430
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 974)
					label      	(object SegLabel @1433
					    Parent_View 	@1431
					    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$236" @1434
					Parent_View 	@1430
					location   	(322, -25)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F90046"
					client     	@1430
					supplier   	@1280
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 1088))))
			    (object AssociationViewNew "$UNNAMED$241" @1435
				location   	(1538, 873)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A6DB01E5"
				roleview_list 	(list RoleViews
				    (object RoleView "rootType" @1436
					Parent_View 	@1435
					location   	(178, 105)
					label      	(object SegLabel @1437
					    Parent_View 	@1436
					    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     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 919)
					    (1454, 919))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 919)
					label      	(object SegLabel @1438
					    Parent_View 	@1436
					    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$242" @1439
					Parent_View 	@1435
					location   	(178, 105)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DE"
					client     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 828)
					    (1454, 828))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 828))))
			    (object AssociationViewNew "$UNNAMED$243" @1440
				location   	(1535, 684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7120108"
				roleview_list 	(list RoleViews
				    (object RoleView "baseType" @1441
					Parent_View 	@1440
					location   	(175, -84)
					label      	(object SegLabel @1442
					    Parent_View 	@1441
					    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     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 728)
					    (1454, 728))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 728)
					label      	(object SegLabel @1443
					    Parent_View 	@1441
					    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$244" @1444
					Parent_View 	@1440
					location   	(175, -84)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A714015B"
					client     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 641)
					    (1454, 641))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 641))))
			    (object AssociationViewNew "$UNNAMED$247" @1445
				location   	(613, 940)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7ED03C0"
				roleview_list 	(list RoleViews
				    (object RoleView "complexType" @1446
					Parent_View 	@1445
					location   	(-747, 172)
					label      	(object SegLabel @1447
					    Parent_View 	@1446
					    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     	@1445
					supplier   	@1281
					vertices   	(list Points
					    (613, 940)
					    (284, 940)
					    (284, 1008))
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(284, 1008)
					label      	(object SegLabel @1448
					    Parent_View 	@1446
					    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$248" @1449
					Parent_View 	@1445
					location   	(-747, 172)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40121"
					client     	@1445
					supplier   	@1428
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(1010, 940))))
			    (object InheritView "" @1450
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@1428
				supplier   	@1258
				line_style 	3
				origin_attachment 	(1112, 562)
				terminal_attachment 	(1112, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1451
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1280
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1146, 1088)
				terminal_attachment 	(1146, 1065)
				drawSupplier 	@1429)
			    (object AssociationViewNew "$UNNAMED$245" @1452
				location   	(1362, 1133)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A74B0178"
				roleview_list 	(list RoleViews
				    (object RoleView "simpleType" @1453
					Parent_View 	@1452
					location   	(-158, -163)
					label      	(object SegLabel @1454
					    Parent_View 	@1453
					    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     	@1452
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 1292)
					label      	(object SegLabel @1455
					    Parent_View 	@1453
					    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$246" @1456
					Parent_View 	@1452
					location   	(-158, -163)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D0185"
					client     	@1452
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 974))))
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @1457
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1457
				    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 	@1457
				    location   	(2002, 363)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	550
				    compartmentItems 	(list Compartment
					"+ global : boolean"
					"+ featureReference : boolean"))
				width      	558
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1458
				location   	(2262, 568)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1457
				vertices   	(list Points
				    (2262, 568)
				    (2262, 477)))
			    (object InheritView "" @1459
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@1254
				supplier   	@1457
				line_style 	3
				origin_attachment 	(2346, 595)
				terminal_attachment 	(2346, 568)
				drawSupplier 	@1458)
			    (object AssociationViewNew "$UNNAMED$239" @1460
				location   	(1553, 453)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A0F201A4"
				roleview_list 	(list RoleViews
				    (object RoleView "type" @1461
					Parent_View 	@1460
					location   	(801, 293)
					label      	(object SegLabel @1462
					    Parent_View 	@1461
					    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     	@1460
					supplier   	@1428
					vertices   	(list Points
					    (1553, 453)
					    (1222, 453)
					    (1222, 562))
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1222, 562)
					label      	(object SegLabel @1463
					    Parent_View 	@1461
					    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$240" @1464
					Parent_View 	@1460
					location   	(801, 293)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302F0"
					client     	@1460
					supplier   	@1457
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1993, 453))))
			    (object AssociationViewNew "$UNNAMED$131" @1465
				location   	(1908, 353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C29010602D7"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedFeature" @1466
					Parent_View 	@1465
					location   	(-268, -159)
					label      	(object SegLabel @1467
					    Parent_View 	@1466
					    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     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 387)
					    (1993, 387))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 387)
					label      	(object SegLabel @1468
					    Parent_View 	@1466
					    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$132" @1469
					Parent_View 	@1465
					location   	(-268, -159)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B0018"
					client     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 319)
					    (1993, 319))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 319))))
			    (object InheritView "" @1470
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@1258
				supplier   	@1257
				vertices   	(list Points
				    (494, 284)
				    (494, 244)
				    (996, 244))
				line_style 	3
				origin_attachment 	(494, 284)
				terminal_attachment 	(996, 244))
			    (object InheritView "" @1471
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@1245
				supplier   	@1457
				line_style 	3
				origin_attachment 	(1718, 812)
				terminal_attachment 	(1718, 568)
				drawSupplier 	@1458)
			    (object InheritView "" @1472
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1282
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1265, 1292)
				terminal_attachment 	(1265, 1065)
				drawSupplier 	@1429)
			    (object InheritView "" @1473
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@1457
				supplier   	@1257
				vertices   	(list Points
				    (2147, 291)
				    (2147, 244)
				    (1468, 244))
				line_style 	3
				origin_attachment 	(2147, 291)
				terminal_attachment 	(1468, 244)))))))
	logical_presentations 	(list unit_reference_list
	    (object ClassDiagram "Main"
		quid       	"39E27F080076"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list
		    (object CategoryView "Logical View::wsdl" @1474
			location   	(272, 256)
			label      	(object ItemLabel
			    Parent_View 	@1474
			    location   	(128, 172)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"wsdl")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3ADFB8E5021E"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::xsd" @1475
			location   	(272, 576)
			label      	(object ItemLabel
			    Parent_View 	@1475
			    location   	(128, 492)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"xsd")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"39ABDC6F01AA"
			width      	300
			height     	180)))))
    root_subsystem 	(object SubSystem "Component View"
	quid       	"39E27F080065"
	physical_models 	(list unit_reference_list)
	physical_presentations 	(list unit_reference_list
	    (object Module_Diagram "Main"
		quid       	"39E27F080077"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    process_structure 	(object Processes
	quid       	"39E27F080066"
	ProcsNDevs 	(list
	    (object Process_Diagram "Deployment View"
		quid       	"39E27F080068"
		title      	"Deployment View"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    properties 	(object Properties
	attributes 	(list Attribute_Set
	    (object Attribute
		tool       	"DDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"DDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"DDL"
			name       	"DataBase"
			value      	("DataBaseSet" 800))
		    (object Attribute
			tool       	"DDL"
			name       	"DataBaseSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"DDL"
				name       	"ANSI"
				value      	800)
			    (object Attribute
				tool       	"DDL"
				name       	"Oracle"
				value      	801)
			    (object Attribute
				tool       	"DDL"
				name       	"SQLServer"
				value      	802)
			    (object Attribute
				tool       	"DDL"
				name       	"Sybase"
				value      	803)
			    (object Attribute
				tool       	"DDL"
				name       	"Watcom"
				value      	804)))
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnName"
			value      	"Id")
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5)")
		    (object Attribute
			tool       	"DDL"
			name       	"ViewName"
			value      	"V_")
		    (object Attribute
			tool       	"DDL"
			name       	"TableName"
			value      	"T_")
		    (object Attribute
			tool       	"DDL"
			name       	"InheritSuffix"
			value      	"_V")
		    (object Attribute
			tool       	"DDL"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"BaseViews"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")))
	    (object Attribute
		tool       	"DDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"ColumnType"
			value      	"VARCHAR")
		    (object Attribute
			tool       	"DDL"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"DDL"
			name       	"NullsOK"
			value      	TRUE)
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"Unique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"DDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"framework"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"IDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"IDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"DefaultSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"IDLElement"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecificationType"
			value      	("IDLSpecSet" 22))
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Interface"
				value      	22)
			    (object Attribute
				tool       	"IDL"
				name       	"Typedef"
				value      	54)
			    (object Attribute
				tool       	"IDL"
				name       	"Enumeration"
				value      	8)
			    (object Attribute
				tool       	"IDL"
				name       	"Const"
				value      	71)
			    (object Attribute
				tool       	"IDL"
				name       	"Exception"
				value      	61)
			    (object Attribute
				tool       	"IDL"
				name       	"Struct"
				value      	51)
			    (object Attribute
				tool       	"IDL"
				name       	"Union"
				value      	81)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateIDLModule"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"IDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Java"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"Java"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"Java"
			name       	"UsePrefixes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"InstanceVariablePrefix"
			value      	"m_")
		    (object Attribute
			tool       	"Java"
			name       	"ClassVariablePrefix"
			value      	"s_")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultAttributeDataType"
			value      	"int")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultOperationReturnType"
			value      	"void")))
	    (object Attribute
		tool       	"Java"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Abstract"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Native"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Synchronized"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"InitialValue"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Oracle8"
		name       	"propertyId"
		value      	"360000002")
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")
		    (object Attribute
			tool       	"Oracle8"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnName"
			value      	"_ID")
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5,0)")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNameSuffix"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSchema"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"WhereClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeLength"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypePrecision"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeScale"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionOfREFS"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKind"
			value      	("MethodKindSet" 1903))
		    (object Attribute
			tool       	"Oracle8"
			name       	"OverloadID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSelfish"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerType"
			value      	("TriggerTypeSet" 1801))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEvent"
			value      	("TriggerEventSet" 1601))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerText"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerReferencingNames"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEach"
			value      	("TriggerForEachSet" 1701))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerWhenClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"MapMethod"
				value      	1901)
			    (object Attribute
				tool       	"Oracle8"
				name       	"OrderMethod"
				value      	1902)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Function"
				value      	1903)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Procedure"
				value      	1904)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Operator"
				value      	1905)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Constructor"
				value      	1906)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Destructor"
				value      	1907)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Trigger"
				value      	1908)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Calculated"
				value      	1909)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"AFTER"
				value      	1801)
			    (object Attribute
				tool       	"Oracle8"
				name       	"BEFORE"
				value      	1802)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSTEAD OF"
				value      	1803)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEachSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"ROW"
				value      	1701)
			    (object Attribute
				tool       	"Oracle8"
				name       	"STATEMENT"
				value      	1702)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEventSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT"
				value      	1601)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE"
				value      	1602)
			    (object Attribute
				tool       	"Oracle8"
				name       	"DELETE"
				value      	1603)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE"
				value      	1604)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR DELETE"
				value      	1605)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE OR DELETE"
				value      	1606)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE OR DELETE"
				value      	1607)))))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"NullsAllowed"
			value      	TRUE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Precision"
			value      	"2")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Scale"
			value      	"6")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsIndex"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsPrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Repository"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"cg"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"cg"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"UseMSVC"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileExtension"
			value      	"h")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileBackupExtension"
			value      	"h~")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileTemporaryExtension"
			value      	"h#")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileExtension"
			value      	"cpp")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileBackupExtension"
			value      	"cp~")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileTemporaryExtension"
			value      	"cp#")
		    (object Attribute
			tool       	"cg"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ErrorLimit"
			value      	30)
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"$ROSECPP_SOURCE")
		    (object Attribute
			tool       	"cg"
			name       	"PathSeparator"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"FileNameFormat"
			value      	"128vx_b")
		    (object Attribute
			tool       	"cg"
			name       	"BooleanType"
			value      	"int")
		    (object Attribute
			tool       	"cg"
			name       	"AllowTemplates"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowExplicitInstantiations"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowProtectedInheritance"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CommentWidth"
			value      	60)
		    (object Attribute
			tool       	"cg"
			name       	"OneByValueContainer"
			value      	"$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"OneByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByValueContainer"
			value      	"OptionalByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByValueContainer"
			value      	"BoundedListByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByValueContainer"
			value      	"BoundedSetByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByReferenceContainer"
			value      	"BoundedListByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByReferenceContainer"
			value      	"BoundedSetByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByValueContainer"
			value      	"UnboundedListByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByValueContainer"
			value      	"UnboundedSetByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByReferenceContainer"
			value      	"UnboundedListByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByReferenceContainer"
			value      	"UnboundedSetByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByValueContainer"
			value      	"AssociationByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByValueContainer"
			value      	"DictionaryByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByReferenceContainer"
			value      	"AssociationByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByReferenceContainer"
			value      	"DictionaryByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ClassKey"
			value      	"class")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"PutBodiesInSpec"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"DefaultConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateCopyConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"CopyConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDestructor"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DestructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DestructorKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDestructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssignmentOperation"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssignmentOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEqualityOperations"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineEqualityOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"RelationalVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"RelationalKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StorageMgmtVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StreamVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ThreeKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)))
		    (object Attribute
			tool       	"cg"
			name       	"KindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)))
		    (object Attribute
			tool       	"cg"
			name       	"FriendKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"DeclareAndDefine"
				value      	199)
			    (object Attribute
				tool       	"cg"
				name       	"DeclareOnly"
				value      	205)
			    (object Attribute
				tool       	"cg"
				name       	"DoNotDeclare"
				value      	206)))
		    (object Attribute
			tool       	"cg"
			name       	"VisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)))
		    (object Attribute
			tool       	"cg"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DefaultSpecifier"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.services/src/rose/wsdlMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationKind"
			value      	("OperationKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"OperationKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsExplicit"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Inline"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ExitCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"BodyAnnotations"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Ordered"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"InstanceArguments"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerGet"
			value      	"$data.get($keys)")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerSet"
			value      	"$data.set($keys,$value)")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedContainer"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassContainer"
			value      	"$supplier *")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassInitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReference"
			value      	("QualifiedGetSetByReferenceSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReferenceSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_GetSetByReference"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassForwardReferenceOnly"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtAttributeVisibility"
				value      	211)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BodyReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"DirectoryIsOnSearchList"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"PrecompiledHeader"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"IsNamespace"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Indent"
			value      	2)
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))))
	    (object Attribute
		tool       	"MSVC"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Version"
			value      	"5.0")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCClassTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCClassTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Interface_Part"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Connection_Part"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Class_Factory"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionality"
			value      	("CObjectFunctionalitySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionalitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dynamic"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dyncreate"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Serial"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOverrideGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDataGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DATA_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateFieldGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_FIELD_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactory"
			value      	("OLEFactorySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactorySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Built_in"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Simple"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Licensed"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEName"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEClassID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLECtlType"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECtlType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLETypeLib"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMajor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMinor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropPageIDs"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEPropPageIDs"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispatchMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockProperties"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockFunctions"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DispatchDefValue"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispIdEnum"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISP_ID_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInterfaceMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"INTERFACE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"InitInterface"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockEvents"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventSinkMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"PropNotifySinks"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ConnectionPointIID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"InheritanceType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECommands"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCDeclares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCImplements"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ATL_Declares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateCOMMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"COM_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionPointMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_POINT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMsgMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropertyMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"PROPERTY_MAP_Entries"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCOperationTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCOperationTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Virtual_Override"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Message_Handler"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dispatch_Handler"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Firing_Function"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Sink_Handler"
				value      	5)
			    (object Attribute
				tool       	"MSVC"
				name       	"Std_OLE_Method"
				value      	6)
			    (object Attribute
				tool       	"MSVC"
				name       	"Command_Parser"
				value      	7)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Get_Function"
				value      	8)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Set_Function"
				value      	9)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Notify_Function"
				value      	10)
			    (object Attribute
				tool       	"MSVC"
				name       	"Macro_Generated_Function"
				value      	11)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"BodyImage"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"SCC"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"TypeLibImporter"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Visual Basic"
		name       	"propertyId"
		value      	"783606378")
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CreatableSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Private"
				value      	221)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"PublicNotCreatable"
				value      	213)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"SingleUse"
				value      	214)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalSingleUse"
				value      	215)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"MultiUse"
				value      	219)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalMultiUse"
				value      	220)))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionBase"
			value      	"0")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionExplicit"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionCompare"
			value      	("CompareSet" 202))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Creatable"
			value      	("CreatableSet" 221))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateInitialization"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateTermination"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CollectionClass"
			value      	"Collection")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CompareSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"None"
				value      	202)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Binary"
				value      	203)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Text"
				value      	204)))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OperationName"
			value      	"$operation")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"LibraryName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"AliasName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsStatic"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ExitCode"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ImplementsDelegation"
			value      	TRUE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ProjectFile"
			value      	"")))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"VisualStudio"
		name       	"HiddenTool"
		value      	FALSE))
	quid       	"39E27F080067"))
