ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1)
	spelio(9363) software(1) asn1c(5) test(1) 34 }
DEFINITIONS IMPLICIT TAGS ::=
BEGIN

EXTENSION ::= CLASS {
    &id	 [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
    &ExtnType	
} WITH SYNTAX {
		SYNTAX		&ExtnType
		IDENTIFIED BY	&id
	}


Ext1 ::= SEQUENCE {
    extnId	 EXTENSION.&id
}

EXTENSION-ATTRIBUTE ::= CLASS {
    &id	 INTEGER (0..256) UNIQUE,
    &Type	
} WITH SYNTAX {&Type IDENTIFIED BY &id}


terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}

ExtensionAttribute ::= SEQUENCE {
    extension-attribute-type	 [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
    extension-attribute-value	 [1] IMPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
}

ub-extension-attributes INTEGER ::= 256

END
