// Copyright 2021 Converter Systems LLC. All rights reserved.

// Code generated by go generate; DO NOT EDIT.

package ua

import (
    "reflect"
    "time"

    "github.com/google/uuid"
)

// KeyValuePair structure.
type KeyValuePair struct {
    Key      QualifiedName
    Value    Variant
}


// AdditionalParametersType structure.
type AdditionalParametersType struct {
    Parameters    []KeyValuePair
}


// EphemeralKeyType structure.
type EphemeralKeyType struct {
    PublicKey    ByteString
    Signature    ByteString
}


// EndpointType structure.
type EndpointType struct {
    EndpointURL            string
    SecurityMode           MessageSecurityMode
    SecurityPolicyURI      string
    TransportProfileURI    string
}


// RationalNumber structure.
type RationalNumber struct {
    Numerator      int32
    Denominator    uint32
}


// Vector structure.
type Vector struct {
}


// ThreeDVector structure.
type ThreeDVector struct {
    X    float64
    Y    float64
    Z    float64
}


// CartesianCoordinates structure.
type CartesianCoordinates struct {
}


// ThreeDCartesianCoordinates structure.
type ThreeDCartesianCoordinates struct {
    X    float64
    Y    float64
    Z    float64
}


// Orientation structure.
type Orientation struct {
}


// ThreeDOrientation structure.
type ThreeDOrientation struct {
    A    float64
    B    float64
    C    float64
}


// Frame structure.
type Frame struct {
}


// ThreeDFrame structure.
type ThreeDFrame struct {
    CartesianCoordinates    ThreeDCartesianCoordinates
    Orientation             ThreeDOrientation
}


// IdentityMappingRuleType structure.
type IdentityMappingRuleType struct {
    CriteriaType    IdentityCriteriaType
    Criteria        string
}


// CurrencyUnitType structure.
type CurrencyUnitType struct {
    NumericCode       int16
    Exponent          int8
    AlphabeticCode    string
    Currency          LocalizedText
}


// TrustListDataType structure.
type TrustListDataType struct {
    SpecifiedLists         uint32
    TrustedCertificates    []ByteString
    TrustedCrls            []ByteString
    IssuerCertificates     []ByteString
    IssuerCrls             []ByteString
}


// DecimalDataType structure.
type DecimalDataType struct {
    Scale    int16
    Value    ByteString
}


// DataTypeSchemaHeader structure.
type DataTypeSchemaHeader struct {
    Namespaces            []string
    StructureDataTypes    []StructureDescription
    EnumDataTypes         []EnumDescription
    SimpleDataTypes       []SimpleTypeDescription
}


// DataTypeDescription structure.
type DataTypeDescription struct {
    DataTypeID    NodeID
    Name          QualifiedName
}


// StructureDescription structure.
type StructureDescription struct {
    DataTypeID             NodeID
    Name                   QualifiedName
    StructureDefinition    StructureDefinition
}


// EnumDescription structure.
type EnumDescription struct {
    DataTypeID        NodeID
    Name              QualifiedName
    EnumDefinition    EnumDefinition
    BuiltInType       uint8
}


// SimpleTypeDescription structure.
type SimpleTypeDescription struct {
    DataTypeID      NodeID
    Name            QualifiedName
    BaseDataType    NodeID
    BuiltInType     uint8
}


// UABinaryFileDataType structure.
type UABinaryFileDataType struct {
    Namespaces            []string
    StructureDataTypes    []StructureDescription
    EnumDataTypes         []EnumDescription
    SimpleDataTypes       []SimpleTypeDescription
    SchemaLocation        string
    FileHeader            []KeyValuePair
    Body                  Variant
}


// DataSetMetaDataType structure.
type DataSetMetaDataType struct {
    Namespaces              []string
    StructureDataTypes      []StructureDescription
    EnumDataTypes           []EnumDescription
    SimpleDataTypes         []SimpleTypeDescription
    Name                    string
    Description             LocalizedText
    Fields                  []FieldMetaData
    DataSetClassID          uuid.UUID
    ConfigurationVersion    ConfigurationVersionDataType
}


// FieldMetaData structure.
type FieldMetaData struct {
    Name               string
    Description        LocalizedText
    FieldFlags         DataSetFieldFlags
    BuiltInType        uint8
    DataType           NodeID
    ValueRank          int32
    ArrayDimensions    []uint32
    MaxStringLength    uint32
    DataSetFieldID     uuid.UUID
    Properties         []KeyValuePair
}


// ConfigurationVersionDataType structure.
type ConfigurationVersionDataType struct {
    MajorVersion    uint32
    MinorVersion    uint32
}


// PublishedDataSetDataType structure.
type PublishedDataSetDataType struct {
    Name               string
    DataSetFolder      []string
    DataSetMetaData    DataSetMetaDataType
    ExtensionFields    []KeyValuePair
    DataSetSource      ExtensionObject
}


// PublishedDataSetSourceDataType structure.
type PublishedDataSetSourceDataType struct {
}


// PublishedVariableDataType structure.
type PublishedVariableDataType struct {
    PublishedVariable       NodeID
    AttributeID             uint32
    SamplingIntervalHint    float64
    DeadbandType            uint32
    DeadbandValue           float64
    IndexRange              string
    SubstituteValue         Variant
    MetaDataProperties      []QualifiedName
}


// PublishedDataItemsDataType structure.
type PublishedDataItemsDataType struct {
    PublishedData    []PublishedVariableDataType
}


// PublishedEventsDataType structure.
type PublishedEventsDataType struct {
    EventNotifier     NodeID
    SelectedFields    []SimpleAttributeOperand
    Filter            ContentFilter
}


// DataSetWriterDataType structure.
type DataSetWriterDataType struct {
    Name                       string
    Enabled                    bool
    DataSetWriterID            uint16
    DataSetFieldContentMask    DataSetFieldContentMask
    KeyFrameCount              uint32
    DataSetName                string
    DataSetWriterProperties    []KeyValuePair
    TransportSettings          ExtensionObject
    MessageSettings            ExtensionObject
}


// DataSetWriterTransportDataType structure.
type DataSetWriterTransportDataType struct {
}


// DataSetWriterMessageDataType structure.
type DataSetWriterMessageDataType struct {
}


// PubSubGroupDataType structure.
type PubSubGroupDataType struct {
    Name                     string
    Enabled                  bool
    SecurityMode             MessageSecurityMode
    SecurityGroupID          string
    SecurityKeyServices      []EndpointDescription
    MaxNetworkMessageSize    uint32
    GroupProperties          []KeyValuePair
}


// WriterGroupDataType structure.
type WriterGroupDataType struct {
    Name                     string
    Enabled                  bool
    SecurityMode             MessageSecurityMode
    SecurityGroupID          string
    SecurityKeyServices      []EndpointDescription
    MaxNetworkMessageSize    uint32
    GroupProperties          []KeyValuePair
    WriterGroupID            uint16
    PublishingInterval       float64
    KeepAliveTime            float64
    Priority                 uint8
    LocaleIDs                []string
    HeaderLayoutURI          string
    TransportSettings        ExtensionObject
    MessageSettings          ExtensionObject
    DataSetWriters           []DataSetWriterDataType
}


// WriterGroupTransportDataType structure.
type WriterGroupTransportDataType struct {
}


// WriterGroupMessageDataType structure.
type WriterGroupMessageDataType struct {
}


// PubSubConnectionDataType structure.
type PubSubConnectionDataType struct {
    Name                    string
    Enabled                 bool
    PublisherID             Variant
    TransportProfileURI     string
    Address                 ExtensionObject
    ConnectionProperties    []KeyValuePair
    TransportSettings       ExtensionObject
    WriterGroups            []WriterGroupDataType
    ReaderGroups            []ReaderGroupDataType
}


// ConnectionTransportDataType structure.
type ConnectionTransportDataType struct {
}


// NetworkAddressDataType structure.
type NetworkAddressDataType struct {
    NetworkInterface    string
}


// NetworkAddressURLDataType structure.
type NetworkAddressURLDataType struct {
    NetworkInterface    string
    URL                 string
}


// ReaderGroupDataType structure.
type ReaderGroupDataType struct {
    Name                     string
    Enabled                  bool
    SecurityMode             MessageSecurityMode
    SecurityGroupID          string
    SecurityKeyServices      []EndpointDescription
    MaxNetworkMessageSize    uint32
    GroupProperties          []KeyValuePair
    TransportSettings        ExtensionObject
    MessageSettings          ExtensionObject
    DataSetReaders           []DataSetReaderDataType
}


// ReaderGroupTransportDataType structure.
type ReaderGroupTransportDataType struct {
}


// ReaderGroupMessageDataType structure.
type ReaderGroupMessageDataType struct {
}


// DataSetReaderDataType structure.
type DataSetReaderDataType struct {
    Name                       string
    Enabled                    bool
    PublisherID                Variant
    WriterGroupID              uint16
    DataSetWriterID            uint16
    DataSetMetaData            DataSetMetaDataType
    DataSetFieldContentMask    DataSetFieldContentMask
    MessageReceiveTimeout      float64
    KeyFrameCount              uint32
    HeaderLayoutURI            string
    SecurityMode               MessageSecurityMode
    SecurityGroupID            string
    SecurityKeyServices        []EndpointDescription
    DataSetReaderProperties    []KeyValuePair
    TransportSettings          ExtensionObject
    MessageSettings            ExtensionObject
    SubscribedDataSet          ExtensionObject
}


// DataSetReaderTransportDataType structure.
type DataSetReaderTransportDataType struct {
}


// DataSetReaderMessageDataType structure.
type DataSetReaderMessageDataType struct {
}


// SubscribedDataSetDataType structure.
type SubscribedDataSetDataType struct {
}


// TargetVariablesDataType structure.
type TargetVariablesDataType struct {
    TargetVariables    []FieldTargetDataType
}


// FieldTargetDataType structure.
type FieldTargetDataType struct {
    DataSetFieldID           uuid.UUID
    ReceiverIndexRange       string
    TargetNodeID             NodeID
    AttributeID              uint32
    WriteIndexRange          string
    OverrideValueHandling    OverrideValueHandling
    OverrideValue            Variant
}


// SubscribedDataSetMirrorDataType structure.
type SubscribedDataSetMirrorDataType struct {
    ParentNodeName     string
    RolePermissions    []RolePermissionType
}


// PubSubConfigurationDataType structure.
type PubSubConfigurationDataType struct {
    PublishedDataSets    []PublishedDataSetDataType
    Connections          []PubSubConnectionDataType
    Enabled              bool
}


// UADPWriterGroupMessageDataType structure.
type UADPWriterGroupMessageDataType struct {
    GroupVersion                 uint32
    DataSetOrdering              DataSetOrderingType
    NetworkMessageContentMask    UADPNetworkMessageContentMask
    SamplingOffset               float64
    PublishingOffset             []float64
}


// UADPDataSetWriterMessageDataType structure.
type UADPDataSetWriterMessageDataType struct {
    DataSetMessageContentMask    UADPDataSetMessageContentMask
    ConfiguredSize               uint16
    NetworkMessageNumber         uint16
    DataSetOffset                uint16
}


// UADPDataSetReaderMessageDataType structure.
type UADPDataSetReaderMessageDataType struct {
    GroupVersion                 uint32
    NetworkMessageNumber         uint16
    DataSetOffset                uint16
    DataSetClassID               uuid.UUID
    NetworkMessageContentMask    UADPNetworkMessageContentMask
    DataSetMessageContentMask    UADPDataSetMessageContentMask
    PublishingInterval           float64
    ReceiveOffset                float64
    ProcessingOffset             float64
}


// JSONWriterGroupMessageDataType structure.
type JSONWriterGroupMessageDataType struct {
    NetworkMessageContentMask    JSONNetworkMessageContentMask
}


// JSONDataSetWriterMessageDataType structure.
type JSONDataSetWriterMessageDataType struct {
    DataSetMessageContentMask    JSONDataSetMessageContentMask
}


// JSONDataSetReaderMessageDataType structure.
type JSONDataSetReaderMessageDataType struct {
    NetworkMessageContentMask    JSONNetworkMessageContentMask
    DataSetMessageContentMask    JSONDataSetMessageContentMask
}


// DatagramConnectionTransportDataType structure.
type DatagramConnectionTransportDataType struct {
    DiscoveryAddress    ExtensionObject
}


// DatagramWriterGroupTransportDataType structure.
type DatagramWriterGroupTransportDataType struct {
    MessageRepeatCount    uint8
    MessageRepeatDelay    float64
}


// BrokerConnectionTransportDataType structure.
type BrokerConnectionTransportDataType struct {
    ResourceURI                 string
    AuthenticationProfileURI    string
}


// BrokerWriterGroupTransportDataType structure.
type BrokerWriterGroupTransportDataType struct {
    QueueName                     string
    ResourceURI                   string
    AuthenticationProfileURI      string
    RequestedDeliveryGuarantee    BrokerTransportQoS
}


// BrokerDataSetWriterTransportDataType structure.
type BrokerDataSetWriterTransportDataType struct {
    QueueName                     string
    ResourceURI                   string
    AuthenticationProfileURI      string
    RequestedDeliveryGuarantee    BrokerTransportQoS
    MetaDataQueueName             string
    MetaDataUpdateTime            float64
}


// BrokerDataSetReaderTransportDataType structure.
type BrokerDataSetReaderTransportDataType struct {
    QueueName                     string
    ResourceURI                   string
    AuthenticationProfileURI      string
    RequestedDeliveryGuarantee    BrokerTransportQoS
    MetaDataQueueName             string
}


// AliasNameDataType structure.
type AliasNameDataType struct {
    AliasName          QualifiedName
    ReferencedNodes    []ExpandedNodeID
}


// RolePermissionType structure.
type RolePermissionType struct {
    RoleID         NodeID
    Permissions    PermissionType
}


// StructureField structure.
type StructureField struct {
    Name               string
    Description        LocalizedText
    DataType           NodeID
    ValueRank          int32
    ArrayDimensions    []uint32
    MaxStringLength    uint32
    IsOptional         bool
}


// StructureDefinition structure.
type StructureDefinition struct {
    DefaultEncodingID    NodeID
    BaseDataType         NodeID
    StructureType        StructureType
    Fields               []StructureField
}


// EnumDefinition structure.
type EnumDefinition struct {
    Fields    []EnumField
}


// Argument structure.
type Argument struct {
    Name               string
    DataType           NodeID
    ValueRank          int32
    ArrayDimensions    []uint32
    Description        LocalizedText
}


// EnumValueType structure.
type EnumValueType struct {
    Value          int64
    DisplayName    LocalizedText
    Description    LocalizedText
}


// EnumField structure.
type EnumField struct {
    Value          int64
    DisplayName    LocalizedText
    Description    LocalizedText
    Name           string
}


// OptionSet structure.
type OptionSet struct {
    Value        ByteString
    ValidBits    ByteString
}


// Union structure.
type Union struct {
}


// TimeZoneDataType structure.
type TimeZoneDataType struct {
    Offset                    int16
    DaylightSavingInOffset    bool
}


// ApplicationDescription structure.
type ApplicationDescription struct {
    ApplicationURI         string
    ProductURI             string
    ApplicationName        LocalizedText
    ApplicationType        ApplicationType
    GatewayServerURI       string
    DiscoveryProfileURI    string
    DiscoveryURLs          []string
}


// RequestHeader structure.
type RequestHeader struct {
    AuthenticationToken    NodeID
    Timestamp              time.Time
    RequestHandle          uint32
    ReturnDiagnostics      uint32
    AuditEntryID           string
    TimeoutHint            uint32
    AdditionalHeader       ExtensionObject
}


// ResponseHeader structure.
type ResponseHeader struct {
    Timestamp             time.Time
    RequestHandle         uint32
    ServiceResult         StatusCode
    ServiceDiagnostics    DiagnosticInfo
    StringTable           []string
    AdditionalHeader      ExtensionObject
}


// ServiceFault structure.
type ServiceFault struct {
    ResponseHeader
}


// SessionlessInvokeRequestType structure.
type SessionlessInvokeRequestType struct {
    URIsVersion      []uint32
    NamespaceURIs    []string
    ServerURIs       []string
    LocaleIDs        []string
    ServiceID        uint32
}


// SessionlessInvokeResponseType structure.
type SessionlessInvokeResponseType struct {
    NamespaceURIs    []string
    ServerURIs       []string
    ServiceID        uint32
}


// FindServersRequest structure.
type FindServersRequest struct {
    RequestHeader
    EndpointURL    string
    LocaleIDs      []string
    ServerURIs     []string
}


// FindServersResponse structure.
type FindServersResponse struct {
    ResponseHeader
    Servers    []ApplicationDescription
}


// ServerOnNetwork structure.
type ServerOnNetwork struct {
    RecordID              uint32
    ServerName            string
    DiscoveryURL          string
    ServerCapabilities    []string
}


// FindServersOnNetworkRequest structure.
type FindServersOnNetworkRequest struct {
    RequestHeader
    StartingRecordID          uint32
    MaxRecordsToReturn        uint32
    ServerCapabilityFilter    []string
}


// FindServersOnNetworkResponse structure.
type FindServersOnNetworkResponse struct {
    ResponseHeader
    LastCounterResetTime    time.Time
    Servers                 []ServerOnNetwork
}


// UserTokenPolicy structure.
type UserTokenPolicy struct {
    PolicyID             string
    TokenType            UserTokenType
    IssuedTokenType      string
    IssuerEndpointURL    string
    SecurityPolicyURI    string
}


// EndpointDescription structure.
type EndpointDescription struct {
    EndpointURL            string
    Server                 ApplicationDescription
    ServerCertificate      ByteString
    SecurityMode           MessageSecurityMode
    SecurityPolicyURI      string
    UserIdentityTokens     []UserTokenPolicy
    TransportProfileURI    string
    SecurityLevel          uint8
}


// GetEndpointsRequest structure.
type GetEndpointsRequest struct {
    RequestHeader
    EndpointURL    string
    LocaleIDs      []string
    ProfileURIs    []string
}


// GetEndpointsResponse structure.
type GetEndpointsResponse struct {
    ResponseHeader
    Endpoints    []EndpointDescription
}


// RegisteredServer structure.
type RegisteredServer struct {
    ServerURI            string
    ProductURI           string
    ServerNames          []LocalizedText
    ServerType           ApplicationType
    GatewayServerURI     string
    DiscoveryURLs        []string
    SemaphoreFilePath    string
    IsOnline             bool
}


// RegisterServerRequest structure.
type RegisterServerRequest struct {
    RequestHeader
    Server    RegisteredServer
}


// RegisterServerResponse structure.
type RegisterServerResponse struct {
    ResponseHeader
}


// DiscoveryConfiguration structure.
type DiscoveryConfiguration struct {
}


// MdnsDiscoveryConfiguration structure.
type MdnsDiscoveryConfiguration struct {
    MdnsServerName        string
    ServerCapabilities    []string
}


// RegisterServer2Request structure.
type RegisterServer2Request struct {
    RequestHeader
    Server                    RegisteredServer
    DiscoveryConfiguration    []ExtensionObject
}


// RegisterServer2Response structure.
type RegisterServer2Response struct {
    ResponseHeader
    ConfigurationResults    []StatusCode
    DiagnosticInfos         []DiagnosticInfo
}


// ChannelSecurityToken structure.
type ChannelSecurityToken struct {
    ChannelID          uint32
    TokenID            uint32
    CreatedAt          time.Time
    RevisedLifetime    uint32
}


// OpenSecureChannelRequest structure.
type OpenSecureChannelRequest struct {
    RequestHeader
    ClientProtocolVersion    uint32
    RequestType              SecurityTokenRequestType
    SecurityMode             MessageSecurityMode
    ClientNonce              ByteString
    RequestedLifetime        uint32
}


// OpenSecureChannelResponse structure.
type OpenSecureChannelResponse struct {
    ResponseHeader
    ServerProtocolVersion    uint32
    SecurityToken            ChannelSecurityToken
    ServerNonce              ByteString
}


// CloseSecureChannelRequest structure.
type CloseSecureChannelRequest struct {
    RequestHeader
}


// CloseSecureChannelResponse structure.
type CloseSecureChannelResponse struct {
    ResponseHeader
}


// SignedSoftwareCertificate structure.
type SignedSoftwareCertificate struct {
    CertificateData    ByteString
    Signature          ByteString
}


// SignatureData structure.
type SignatureData struct {
    Algorithm    string
    Signature    ByteString
}


// CreateSessionRequest structure.
type CreateSessionRequest struct {
    RequestHeader
    ClientDescription          ApplicationDescription
    ServerURI                  string
    EndpointURL                string
    SessionName                string
    ClientNonce                ByteString
    ClientCertificate          ByteString
    RequestedSessionTimeout    float64
    MaxResponseMessageSize     uint32
}


// CreateSessionResponse structure.
type CreateSessionResponse struct {
    ResponseHeader
    SessionID                     NodeID
    AuthenticationToken           NodeID
    RevisedSessionTimeout         float64
    ServerNonce                   ByteString
    ServerCertificate             ByteString
    ServerEndpoints               []EndpointDescription
    ServerSoftwareCertificates    []SignedSoftwareCertificate
    ServerSignature               SignatureData
    MaxRequestMessageSize         uint32
}


// UserIdentityToken structure.
type UserIdentityToken struct {
    PolicyID    string
}


// AnonymousIdentityToken structure.
type AnonymousIdentityToken struct {
    PolicyID    string
}


// UserNameIdentityToken structure.
type UserNameIdentityToken struct {
    PolicyID               string
    UserName               string
    Password               ByteString
    EncryptionAlgorithm    string
}


// X509IdentityToken structure.
type X509IdentityToken struct {
    PolicyID           string
    CertificateData    ByteString
}


// IssuedIdentityToken structure.
type IssuedIdentityToken struct {
    PolicyID               string
    TokenData              ByteString
    EncryptionAlgorithm    string
}


// ActivateSessionRequest structure.
type ActivateSessionRequest struct {
    RequestHeader
    ClientSignature               SignatureData
    ClientSoftwareCertificates    []SignedSoftwareCertificate
    LocaleIDs                     []string
    UserIdentityToken             ExtensionObject
    UserTokenSignature            SignatureData
}


// ActivateSessionResponse structure.
type ActivateSessionResponse struct {
    ResponseHeader
    ServerNonce        ByteString
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// CloseSessionRequest structure.
type CloseSessionRequest struct {
    RequestHeader
    DeleteSubscriptions    bool
}


// CloseSessionResponse structure.
type CloseSessionResponse struct {
    ResponseHeader
}


// CancelRequest structure.
type CancelRequest struct {
    RequestHeader
    RequestHandle    uint32
}


// CancelResponse structure.
type CancelResponse struct {
    ResponseHeader
    CancelCount    uint32
}


// NodeAttributes structure.
type NodeAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
}


// ObjectAttributes structure.
type ObjectAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    EventNotifier          uint8
}


// VariableAttributes structure.
type VariableAttributes struct {
    SpecifiedAttributes        uint32
    DisplayName                LocalizedText
    Description                LocalizedText
    WriteMask                  uint32
    UserWriteMask              uint32
    Value                      Variant
    DataType                   NodeID
    ValueRank                  int32
    ArrayDimensions            []uint32
    AccessLevel                uint8
    UserAccessLevel            uint8
    MinimumSamplingInterval    float64
    Historizing                bool
}


// MethodAttributes structure.
type MethodAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    Executable             bool
    UserExecutable         bool
}


// ObjectTypeAttributes structure.
type ObjectTypeAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    IsAbstract             bool
}


// VariableTypeAttributes structure.
type VariableTypeAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    Value                  Variant
    DataType               NodeID
    ValueRank              int32
    ArrayDimensions        []uint32
    IsAbstract             bool
}


// ReferenceTypeAttributes structure.
type ReferenceTypeAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    IsAbstract             bool
    Symmetric              bool
    InverseName            LocalizedText
}


// DataTypeAttributes structure.
type DataTypeAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    IsAbstract             bool
}


// ViewAttributes structure.
type ViewAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    ContainsNoLoops        bool
    EventNotifier          uint8
}


// GenericAttributeValue structure.
type GenericAttributeValue struct {
    AttributeID    uint32
    Value          Variant
}


// GenericAttributes structure.
type GenericAttributes struct {
    SpecifiedAttributes    uint32
    DisplayName            LocalizedText
    Description            LocalizedText
    WriteMask              uint32
    UserWriteMask          uint32
    AttributeValues        []GenericAttributeValue
}


// AddNodesItem structure.
type AddNodesItem struct {
    ParentNodeID          ExpandedNodeID
    ReferenceTypeID       NodeID
    RequestedNewNodeID    ExpandedNodeID
    BrowseName            QualifiedName
    NodeClass             NodeClass
    NodeAttributes        ExtensionObject
    TypeDefinition        ExpandedNodeID
}


// AddNodesResult structure.
type AddNodesResult struct {
    StatusCode     StatusCode
    AddedNodeID    NodeID
}


// AddNodesRequest structure.
type AddNodesRequest struct {
    RequestHeader
    NodesToAdd    []AddNodesItem
}


// AddNodesResponse structure.
type AddNodesResponse struct {
    ResponseHeader
    Results            []AddNodesResult
    DiagnosticInfos    []DiagnosticInfo
}


// AddReferencesItem structure.
type AddReferencesItem struct {
    SourceNodeID       NodeID
    ReferenceTypeID    NodeID
    IsForward          bool
    TargetServerURI    string
    TargetNodeID       ExpandedNodeID
    TargetNodeClass    NodeClass
}


// AddReferencesRequest structure.
type AddReferencesRequest struct {
    RequestHeader
    ReferencesToAdd    []AddReferencesItem
}


// AddReferencesResponse structure.
type AddReferencesResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// DeleteNodesItem structure.
type DeleteNodesItem struct {
    NodeID                    NodeID
    DeleteTargetReferences    bool
}


// DeleteNodesRequest structure.
type DeleteNodesRequest struct {
    RequestHeader
    NodesToDelete    []DeleteNodesItem
}


// DeleteNodesResponse structure.
type DeleteNodesResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// DeleteReferencesItem structure.
type DeleteReferencesItem struct {
    SourceNodeID           NodeID
    ReferenceTypeID        NodeID
    IsForward              bool
    TargetNodeID           ExpandedNodeID
    DeleteBidirectional    bool
}


// DeleteReferencesRequest structure.
type DeleteReferencesRequest struct {
    RequestHeader
    ReferencesToDelete    []DeleteReferencesItem
}


// DeleteReferencesResponse structure.
type DeleteReferencesResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// ViewDescription structure.
type ViewDescription struct {
    ViewID         NodeID
    Timestamp      time.Time
    ViewVersion    uint32
}


// BrowseDescription structure.
type BrowseDescription struct {
    NodeID             NodeID
    BrowseDirection    BrowseDirection
    ReferenceTypeID    NodeID
    IncludeSubtypes    bool
    NodeClassMask      uint32
    ResultMask         uint32
}


// ReferenceDescription structure.
type ReferenceDescription struct {
    ReferenceTypeID    NodeID
    IsForward          bool
    NodeID             ExpandedNodeID
    BrowseName         QualifiedName
    DisplayName        LocalizedText
    NodeClass          NodeClass
    TypeDefinition     ExpandedNodeID
}


// BrowseResult structure.
type BrowseResult struct {
    StatusCode           StatusCode
    ContinuationPoint    ByteString
    References           []ReferenceDescription
}


// BrowseRequest structure.
type BrowseRequest struct {
    RequestHeader
    View                             ViewDescription
    RequestedMaxReferencesPerNode    uint32
    NodesToBrowse                    []BrowseDescription
}


// BrowseResponse structure.
type BrowseResponse struct {
    ResponseHeader
    Results            []BrowseResult
    DiagnosticInfos    []DiagnosticInfo
}


// BrowseNextRequest structure.
type BrowseNextRequest struct {
    RequestHeader
    ReleaseContinuationPoints    bool
    ContinuationPoints           []ByteString
}


// BrowseNextResponse structure.
type BrowseNextResponse struct {
    ResponseHeader
    Results            []BrowseResult
    DiagnosticInfos    []DiagnosticInfo
}


// RelativePathElement structure.
type RelativePathElement struct {
    ReferenceTypeID    NodeID
    IsInverse          bool
    IncludeSubtypes    bool
    TargetName         QualifiedName
}


// RelativePath structure.
type RelativePath struct {
    Elements    []RelativePathElement
}


// BrowsePath structure.
type BrowsePath struct {
    StartingNode    NodeID
    RelativePath    RelativePath
}


// BrowsePathTarget structure.
type BrowsePathTarget struct {
    TargetID              ExpandedNodeID
    RemainingPathIndex    uint32
}


// BrowsePathResult structure.
type BrowsePathResult struct {
    StatusCode    StatusCode
    Targets       []BrowsePathTarget
}


// TranslateBrowsePathsToNodeIDsRequest structure.
type TranslateBrowsePathsToNodeIDsRequest struct {
    RequestHeader
    BrowsePaths    []BrowsePath
}


// TranslateBrowsePathsToNodeIDsResponse structure.
type TranslateBrowsePathsToNodeIDsResponse struct {
    ResponseHeader
    Results            []BrowsePathResult
    DiagnosticInfos    []DiagnosticInfo
}


// RegisterNodesRequest structure.
type RegisterNodesRequest struct {
    RequestHeader
    NodesToRegister    []NodeID
}


// RegisterNodesResponse structure.
type RegisterNodesResponse struct {
    ResponseHeader
    RegisteredNodeIDs    []NodeID
}


// UnregisterNodesRequest structure.
type UnregisterNodesRequest struct {
    RequestHeader
    NodesToUnregister    []NodeID
}


// UnregisterNodesResponse structure.
type UnregisterNodesResponse struct {
    ResponseHeader
}


// EndpointConfiguration structure.
type EndpointConfiguration struct {
    OperationTimeout         int32
    UseBinaryEncoding        bool
    MaxStringLength          int32
    MaxByteStringLength      int32
    MaxArrayLength           int32
    MaxMessageSize           int32
    MaxBufferSize            int32
    ChannelLifetime          int32
    SecurityTokenLifetime    int32
}


// QueryDataDescription structure.
type QueryDataDescription struct {
    RelativePath    RelativePath
    AttributeID     uint32
    IndexRange      string
}


// NodeTypeDescription structure.
type NodeTypeDescription struct {
    TypeDefinitionNode    ExpandedNodeID
    IncludeSubTypes       bool
    DataToReturn          []QueryDataDescription
}


// QueryDataSet structure.
type QueryDataSet struct {
    NodeID                ExpandedNodeID
    TypeDefinitionNode    ExpandedNodeID
    Values                []Variant
}


// NodeReference structure.
type NodeReference struct {
    NodeID               NodeID
    ReferenceTypeID      NodeID
    IsForward            bool
    ReferencedNodeIDs    []NodeID
}


// ContentFilterElement structure.
type ContentFilterElement struct {
    FilterOperator    FilterOperator
    FilterOperands    []ExtensionObject
}


// ContentFilter structure.
type ContentFilter struct {
    Elements    []ContentFilterElement
}


// FilterOperand structure.
type FilterOperand struct {
}


// ElementOperand structure.
type ElementOperand struct {
    Index    uint32
}


// LiteralOperand structure.
type LiteralOperand struct {
    Value    Variant
}


// AttributeOperand structure.
type AttributeOperand struct {
    NodeID         NodeID
    Alias          string
    BrowsePath     RelativePath
    AttributeID    uint32
    IndexRange     string
}


// SimpleAttributeOperand structure.
type SimpleAttributeOperand struct {
    TypeDefinitionID    NodeID
    BrowsePath          []QualifiedName
    AttributeID         uint32
    IndexRange          string
}


// ContentFilterElementResult structure.
type ContentFilterElementResult struct {
    StatusCode                StatusCode
    OperandStatusCodes        []StatusCode
    OperandDiagnosticInfos    []DiagnosticInfo
}


// ContentFilterResult structure.
type ContentFilterResult struct {
    ElementResults            []ContentFilterElementResult
    ElementDiagnosticInfos    []DiagnosticInfo
}


// ParsingResult structure.
type ParsingResult struct {
    StatusCode             StatusCode
    DataStatusCodes        []StatusCode
    DataDiagnosticInfos    []DiagnosticInfo
}


// QueryFirstRequest structure.
type QueryFirstRequest struct {
    RequestHeader
    View                     ViewDescription
    NodeTypes                []NodeTypeDescription
    Filter                   ContentFilter
    MaxDataSetsToReturn      uint32
    MaxReferencesToReturn    uint32
}


// QueryFirstResponse structure.
type QueryFirstResponse struct {
    ResponseHeader
    QueryDataSets        []QueryDataSet
    ContinuationPoint    ByteString
    ParsingResults       []ParsingResult
    DiagnosticInfos      []DiagnosticInfo
    FilterResult         ContentFilterResult
}


// QueryNextRequest structure.
type QueryNextRequest struct {
    RequestHeader
    ReleaseContinuationPoint    bool
    ContinuationPoint           ByteString
}


// QueryNextResponse structure.
type QueryNextResponse struct {
    ResponseHeader
    QueryDataSets               []QueryDataSet
    RevisedContinuationPoint    ByteString
}


// ReadValueID structure.
type ReadValueID struct {
    NodeID          NodeID
    AttributeID     uint32
    IndexRange      string
    DataEncoding    QualifiedName
}


// ReadRequest structure.
type ReadRequest struct {
    RequestHeader
    MaxAge                float64
    TimestampsToReturn    TimestampsToReturn
    NodesToRead           []ReadValueID
}


// ReadResponse structure.
type ReadResponse struct {
    ResponseHeader
    Results            []DataValue
    DiagnosticInfos    []DiagnosticInfo
}


// HistoryReadValueID structure.
type HistoryReadValueID struct {
    NodeID               NodeID
    IndexRange           string
    DataEncoding         QualifiedName
    ContinuationPoint    ByteString
}


// HistoryReadResult structure.
type HistoryReadResult struct {
    StatusCode           StatusCode
    ContinuationPoint    ByteString
    HistoryData          ExtensionObject
}


// HistoryReadDetails structure.
type HistoryReadDetails struct {
}


// ReadEventDetails structure.
type ReadEventDetails struct {
    NumValuesPerNode    uint32
    StartTime           time.Time
    EndTime             time.Time
    Filter              EventFilter
}


// ReadRawModifiedDetails structure.
type ReadRawModifiedDetails struct {
    IsReadModified      bool
    StartTime           time.Time
    EndTime             time.Time
    NumValuesPerNode    uint32
    ReturnBounds        bool
}


// ReadProcessedDetails structure.
type ReadProcessedDetails struct {
    StartTime                 time.Time
    EndTime                   time.Time
    ProcessingInterval        float64
    AggregateType             []NodeID
    AggregateConfiguration    AggregateConfiguration
}


// ReadAtTimeDetails structure.
type ReadAtTimeDetails struct {
    ReqTimes           []time.Time
    UseSimpleBounds    bool
}


// ReadAnnotationDataDetails structure.
type ReadAnnotationDataDetails struct {
    ReqTimes    []time.Time
}


// HistoryData structure.
type HistoryData struct {
    DataValues    []DataValue
}


// ModificationInfo structure.
type ModificationInfo struct {
    ModificationTime    time.Time
    UpdateType          HistoryUpdateType
    UserName            string
}


// HistoryModifiedData structure.
type HistoryModifiedData struct {
    DataValues           []DataValue
    ModificationInfos    []ModificationInfo
}


// HistoryEvent structure.
type HistoryEvent struct {
    Events    []HistoryEventFieldList
}


// HistoryReadRequest structure.
type HistoryReadRequest struct {
    RequestHeader
    HistoryReadDetails           ExtensionObject
    TimestampsToReturn           TimestampsToReturn
    ReleaseContinuationPoints    bool
    NodesToRead                  []HistoryReadValueID
}


// HistoryReadResponse structure.
type HistoryReadResponse struct {
    ResponseHeader
    Results            []HistoryReadResult
    DiagnosticInfos    []DiagnosticInfo
}


// WriteValue structure.
type WriteValue struct {
    NodeID         NodeID
    AttributeID    uint32
    IndexRange     string
    Value          DataValue
}


// WriteRequest structure.
type WriteRequest struct {
    RequestHeader
    NodesToWrite    []WriteValue
}


// WriteResponse structure.
type WriteResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// HistoryUpdateDetails structure.
type HistoryUpdateDetails struct {
    NodeID    NodeID
}


// UpdateDataDetails structure.
type UpdateDataDetails struct {
    NodeID                  NodeID
    PerformInsertReplace    PerformUpdateType
    UpdateValues            []DataValue
}


// UpdateStructureDataDetails structure.
type UpdateStructureDataDetails struct {
    NodeID                  NodeID
    PerformInsertReplace    PerformUpdateType
    UpdateValues            []DataValue
}


// UpdateEventDetails structure.
type UpdateEventDetails struct {
    NodeID                  NodeID
    PerformInsertReplace    PerformUpdateType
    Filter                  EventFilter
    EventData               []HistoryEventFieldList
}


// DeleteRawModifiedDetails structure.
type DeleteRawModifiedDetails struct {
    NodeID              NodeID
    IsDeleteModified    bool
    StartTime           time.Time
    EndTime             time.Time
}


// DeleteAtTimeDetails structure.
type DeleteAtTimeDetails struct {
    NodeID      NodeID
    ReqTimes    []time.Time
}


// DeleteEventDetails structure.
type DeleteEventDetails struct {
    NodeID      NodeID
    EventIDs    []ByteString
}


// HistoryUpdateResult structure.
type HistoryUpdateResult struct {
    StatusCode          StatusCode
    OperationResults    []StatusCode
    DiagnosticInfos     []DiagnosticInfo
}


// HistoryUpdateRequest structure.
type HistoryUpdateRequest struct {
    RequestHeader
    HistoryUpdateDetails    []ExtensionObject
}


// HistoryUpdateResponse structure.
type HistoryUpdateResponse struct {
    ResponseHeader
    Results            []HistoryUpdateResult
    DiagnosticInfos    []DiagnosticInfo
}


// CallMethodRequest structure.
type CallMethodRequest struct {
    ObjectID          NodeID
    MethodID          NodeID
    InputArguments    []Variant
}


// CallMethodResult structure.
type CallMethodResult struct {
    StatusCode                      StatusCode
    InputArgumentResults            []StatusCode
    InputArgumentDiagnosticInfos    []DiagnosticInfo
    OutputArguments                 []Variant
}


// CallRequest structure.
type CallRequest struct {
    RequestHeader
    MethodsToCall    []CallMethodRequest
}


// CallResponse structure.
type CallResponse struct {
    ResponseHeader
    Results            []CallMethodResult
    DiagnosticInfos    []DiagnosticInfo
}


// MonitoringFilter structure.
type MonitoringFilter struct {
}


// DataChangeFilter structure.
type DataChangeFilter struct {
    Trigger          DataChangeTrigger
    DeadbandType     uint32
    DeadbandValue    float64
}


// EventFilter structure.
type EventFilter struct {
    SelectClauses    []SimpleAttributeOperand
    WhereClause      ContentFilter
}


// AggregateConfiguration structure.
type AggregateConfiguration struct {
    UseServerCapabilitiesDefaults    bool
    TreatUncertainAsBad              bool
    PercentDataBad                   uint8
    PercentDataGood                  uint8
    UseSlopedExtrapolation           bool
}


// AggregateFilter structure.
type AggregateFilter struct {
    StartTime                 time.Time
    AggregateType             NodeID
    ProcessingInterval        float64
    AggregateConfiguration    AggregateConfiguration
}


// MonitoringFilterResult structure.
type MonitoringFilterResult struct {
}


// EventFilterResult structure.
type EventFilterResult struct {
    SelectClauseResults            []StatusCode
    SelectClauseDiagnosticInfos    []DiagnosticInfo
    WhereClauseResult              ContentFilterResult
}


// AggregateFilterResult structure.
type AggregateFilterResult struct {
    RevisedStartTime                 time.Time
    RevisedProcessingInterval        float64
    RevisedAggregateConfiguration    AggregateConfiguration
}


// MonitoringParameters structure.
type MonitoringParameters struct {
    ClientHandle        uint32
    SamplingInterval    float64
    Filter              ExtensionObject
    QueueSize           uint32
    DiscardOldest       bool
}


// MonitoredItemCreateRequest structure.
type MonitoredItemCreateRequest struct {
    ItemToMonitor          ReadValueID
    MonitoringMode         MonitoringMode
    RequestedParameters    MonitoringParameters
}


// MonitoredItemCreateResult structure.
type MonitoredItemCreateResult struct {
    StatusCode                 StatusCode
    MonitoredItemID            uint32
    RevisedSamplingInterval    float64
    RevisedQueueSize           uint32
    FilterResult               ExtensionObject
}


// CreateMonitoredItemsRequest structure.
type CreateMonitoredItemsRequest struct {
    RequestHeader
    SubscriptionID        uint32
    TimestampsToReturn    TimestampsToReturn
    ItemsToCreate         []MonitoredItemCreateRequest
}


// CreateMonitoredItemsResponse structure.
type CreateMonitoredItemsResponse struct {
    ResponseHeader
    Results            []MonitoredItemCreateResult
    DiagnosticInfos    []DiagnosticInfo
}


// MonitoredItemModifyRequest structure.
type MonitoredItemModifyRequest struct {
    MonitoredItemID        uint32
    RequestedParameters    MonitoringParameters
}


// MonitoredItemModifyResult structure.
type MonitoredItemModifyResult struct {
    StatusCode                 StatusCode
    RevisedSamplingInterval    float64
    RevisedQueueSize           uint32
    FilterResult               ExtensionObject
}


// ModifyMonitoredItemsRequest structure.
type ModifyMonitoredItemsRequest struct {
    RequestHeader
    SubscriptionID        uint32
    TimestampsToReturn    TimestampsToReturn
    ItemsToModify         []MonitoredItemModifyRequest
}


// ModifyMonitoredItemsResponse structure.
type ModifyMonitoredItemsResponse struct {
    ResponseHeader
    Results            []MonitoredItemModifyResult
    DiagnosticInfos    []DiagnosticInfo
}


// SetMonitoringModeRequest structure.
type SetMonitoringModeRequest struct {
    RequestHeader
    SubscriptionID      uint32
    MonitoringMode      MonitoringMode
    MonitoredItemIDs    []uint32
}


// SetMonitoringModeResponse structure.
type SetMonitoringModeResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// SetTriggeringRequest structure.
type SetTriggeringRequest struct {
    RequestHeader
    SubscriptionID      uint32
    TriggeringItemID    uint32
    LinksToAdd          []uint32
    LinksToRemove       []uint32
}


// SetTriggeringResponse structure.
type SetTriggeringResponse struct {
    ResponseHeader
    AddResults               []StatusCode
    AddDiagnosticInfos       []DiagnosticInfo
    RemoveResults            []StatusCode
    RemoveDiagnosticInfos    []DiagnosticInfo
}


// DeleteMonitoredItemsRequest structure.
type DeleteMonitoredItemsRequest struct {
    RequestHeader
    SubscriptionID      uint32
    MonitoredItemIDs    []uint32
}


// DeleteMonitoredItemsResponse structure.
type DeleteMonitoredItemsResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// CreateSubscriptionRequest structure.
type CreateSubscriptionRequest struct {
    RequestHeader
    RequestedPublishingInterval    float64
    RequestedLifetimeCount         uint32
    RequestedMaxKeepAliveCount     uint32
    MaxNotificationsPerPublish     uint32
    PublishingEnabled              bool
    Priority                       uint8
}


// CreateSubscriptionResponse structure.
type CreateSubscriptionResponse struct {
    ResponseHeader
    SubscriptionID               uint32
    RevisedPublishingInterval    float64
    RevisedLifetimeCount         uint32
    RevisedMaxKeepAliveCount     uint32
}


// ModifySubscriptionRequest structure.
type ModifySubscriptionRequest struct {
    RequestHeader
    SubscriptionID                 uint32
    RequestedPublishingInterval    float64
    RequestedLifetimeCount         uint32
    RequestedMaxKeepAliveCount     uint32
    MaxNotificationsPerPublish     uint32
    Priority                       uint8
}


// ModifySubscriptionResponse structure.
type ModifySubscriptionResponse struct {
    ResponseHeader
    RevisedPublishingInterval    float64
    RevisedLifetimeCount         uint32
    RevisedMaxKeepAliveCount     uint32
}


// SetPublishingModeRequest structure.
type SetPublishingModeRequest struct {
    RequestHeader
    PublishingEnabled    bool
    SubscriptionIDs      []uint32
}


// SetPublishingModeResponse structure.
type SetPublishingModeResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// NotificationMessage structure.
type NotificationMessage struct {
    SequenceNumber      uint32
    PublishTime         time.Time
    NotificationData    []ExtensionObject
}


// NotificationData structure.
type NotificationData struct {
}


// DataChangeNotification structure.
type DataChangeNotification struct {
    MonitoredItems     []MonitoredItemNotification
    DiagnosticInfos    []DiagnosticInfo
}


// MonitoredItemNotification structure.
type MonitoredItemNotification struct {
    ClientHandle    uint32
    Value           DataValue
}


// EventNotificationList structure.
type EventNotificationList struct {
    Events    []EventFieldList
}


// EventFieldList structure.
type EventFieldList struct {
    ClientHandle    uint32
    EventFields     []Variant
}


// HistoryEventFieldList structure.
type HistoryEventFieldList struct {
    EventFields    []Variant
}


// StatusChangeNotification structure.
type StatusChangeNotification struct {
    Status            StatusCode
    DiagnosticInfo    DiagnosticInfo
}


// SubscriptionAcknowledgement structure.
type SubscriptionAcknowledgement struct {
    SubscriptionID    uint32
    SequenceNumber    uint32
}


// PublishRequest structure.
type PublishRequest struct {
    RequestHeader
    SubscriptionAcknowledgements    []SubscriptionAcknowledgement
}


// PublishResponse structure.
type PublishResponse struct {
    ResponseHeader
    SubscriptionID              uint32
    AvailableSequenceNumbers    []uint32
    MoreNotifications           bool
    NotificationMessage         NotificationMessage
    Results                     []StatusCode
    DiagnosticInfos             []DiagnosticInfo
}


// RepublishRequest structure.
type RepublishRequest struct {
    RequestHeader
    SubscriptionID              uint32
    RetransmitSequenceNumber    uint32
}


// RepublishResponse structure.
type RepublishResponse struct {
    ResponseHeader
    NotificationMessage    NotificationMessage
}


// TransferResult structure.
type TransferResult struct {
    StatusCode                  StatusCode
    AvailableSequenceNumbers    []uint32
}


// TransferSubscriptionsRequest structure.
type TransferSubscriptionsRequest struct {
    RequestHeader
    SubscriptionIDs      []uint32
    SendInitialValues    bool
}


// TransferSubscriptionsResponse structure.
type TransferSubscriptionsResponse struct {
    ResponseHeader
    Results            []TransferResult
    DiagnosticInfos    []DiagnosticInfo
}


// DeleteSubscriptionsRequest structure.
type DeleteSubscriptionsRequest struct {
    RequestHeader
    SubscriptionIDs    []uint32
}


// DeleteSubscriptionsResponse structure.
type DeleteSubscriptionsResponse struct {
    ResponseHeader
    Results            []StatusCode
    DiagnosticInfos    []DiagnosticInfo
}


// BuildInfo structure.
type BuildInfo struct {
    ProductURI          string
    ManufacturerName    string
    ProductName         string
    SoftwareVersion     string
    BuildNumber         string
    BuildDate           time.Time
}


// RedundantServerDataType structure.
type RedundantServerDataType struct {
    ServerID        string
    ServiceLevel    uint8
    ServerState     ServerState
}


// EndpointURLListDataType structure.
type EndpointURLListDataType struct {
    EndpointURLList    []string
}


// NetworkGroupDataType structure.
type NetworkGroupDataType struct {
    ServerURI       string
    NetworkPaths    []EndpointURLListDataType
}


// SamplingIntervalDiagnosticsDataType structure.
type SamplingIntervalDiagnosticsDataType struct {
    SamplingInterval              float64
    MonitoredItemCount            uint32
    MaxMonitoredItemCount         uint32
    DisabledMonitoredItemCount    uint32
}


// ServerDiagnosticsSummaryDataType structure.
type ServerDiagnosticsSummaryDataType struct {
    ServerViewCount                  uint32
    CurrentSessionCount              uint32
    CumulatedSessionCount            uint32
    SecurityRejectedSessionCount     uint32
    RejectedSessionCount             uint32
    SessionTimeoutCount              uint32
    SessionAbortCount                uint32
    CurrentSubscriptionCount         uint32
    CumulatedSubscriptionCount       uint32
    PublishingIntervalCount          uint32
    SecurityRejectedRequestsCount    uint32
    RejectedRequestsCount            uint32
}


// ServerStatusDataType structure.
type ServerStatusDataType struct {
    StartTime              time.Time
    CurrentTime            time.Time
    State                  ServerState
    BuildInfo              BuildInfo
    SecondsTillShutdown    uint32
    ShutdownReason         LocalizedText
}


// SessionDiagnosticsDataType structure.
type SessionDiagnosticsDataType struct {
    SessionID                             NodeID
    SessionName                           string
    ClientDescription                     ApplicationDescription
    ServerURI                             string
    EndpointURL                           string
    LocaleIDs                             []string
    ActualSessionTimeout                  float64
    MaxResponseMessageSize                uint32
    ClientConnectionTime                  time.Time
    ClientLastContactTime                 time.Time
    CurrentSubscriptionsCount             uint32
    CurrentMonitoredItemsCount            uint32
    CurrentPublishRequestsInQueue         uint32
    TotalRequestCount                     ServiceCounterDataType
    UnauthorizedRequestCount              uint32
    ReadCount                             ServiceCounterDataType
    HistoryReadCount                      ServiceCounterDataType
    WriteCount                            ServiceCounterDataType
    HistoryUpdateCount                    ServiceCounterDataType
    CallCount                             ServiceCounterDataType
    CreateMonitoredItemsCount             ServiceCounterDataType
    ModifyMonitoredItemsCount             ServiceCounterDataType
    SetMonitoringModeCount                ServiceCounterDataType
    SetTriggeringCount                    ServiceCounterDataType
    DeleteMonitoredItemsCount             ServiceCounterDataType
    CreateSubscriptionCount               ServiceCounterDataType
    ModifySubscriptionCount               ServiceCounterDataType
    SetPublishingModeCount                ServiceCounterDataType
    PublishCount                          ServiceCounterDataType
    RepublishCount                        ServiceCounterDataType
    TransferSubscriptionsCount            ServiceCounterDataType
    DeleteSubscriptionsCount              ServiceCounterDataType
    AddNodesCount                         ServiceCounterDataType
    AddReferencesCount                    ServiceCounterDataType
    DeleteNodesCount                      ServiceCounterDataType
    DeleteReferencesCount                 ServiceCounterDataType
    BrowseCount                           ServiceCounterDataType
    BrowseNextCount                       ServiceCounterDataType
    TranslateBrowsePathsToNodeIDsCount    ServiceCounterDataType
    QueryFirstCount                       ServiceCounterDataType
    QueryNextCount                        ServiceCounterDataType
    RegisterNodesCount                    ServiceCounterDataType
    UnregisterNodesCount                  ServiceCounterDataType
}


// SessionSecurityDiagnosticsDataType structure.
type SessionSecurityDiagnosticsDataType struct {
    SessionID                  NodeID
    ClientUserIDOfSession      string
    ClientUserIDHistory        []string
    AuthenticationMechanism    string
    Encoding                   string
    TransportProtocol          string
    SecurityMode               MessageSecurityMode
    SecurityPolicyURI          string
    ClientCertificate          ByteString
}


// ServiceCounterDataType structure.
type ServiceCounterDataType struct {
    TotalCount    uint32
    ErrorCount    uint32
}


// StatusResult structure.
type StatusResult struct {
    StatusCode        StatusCode
    DiagnosticInfo    DiagnosticInfo
}


// SubscriptionDiagnosticsDataType structure.
type SubscriptionDiagnosticsDataType struct {
    SessionID                       NodeID
    SubscriptionID                  uint32
    Priority                        uint8
    PublishingInterval              float64
    MaxKeepAliveCount               uint32
    MaxLifetimeCount                uint32
    MaxNotificationsPerPublish      uint32
    PublishingEnabled               bool
    ModifyCount                     uint32
    EnableCount                     uint32
    DisableCount                    uint32
    RepublishRequestCount           uint32
    RepublishMessageRequestCount    uint32
    RepublishMessageCount           uint32
    TransferRequestCount            uint32
    TransferredToAltClientCount     uint32
    TransferredToSameClientCount    uint32
    PublishRequestCount             uint32
    DataChangeNotificationsCount    uint32
    EventNotificationsCount         uint32
    NotificationsCount              uint32
    LatePublishRequestCount         uint32
    CurrentKeepAliveCount           uint32
    CurrentLifetimeCount            uint32
    UnacknowledgedMessageCount      uint32
    DiscardedMessageCount           uint32
    MonitoredItemCount              uint32
    DisabledMonitoredItemCount      uint32
    MonitoringQueueOverflowCount    uint32
    NextSequenceNumber              uint32
    EventQueueOverFlowCount         uint32
}


// ModelChangeStructureDataType structure.
type ModelChangeStructureDataType struct {
    Affected        NodeID
    AffectedType    NodeID
    Verb            uint8
}


// SemanticChangeStructureDataType structure.
type SemanticChangeStructureDataType struct {
    Affected        NodeID
    AffectedType    NodeID
}


// Range structure.
type Range struct {
    Low     float64
    High    float64
}


// EUInformation structure.
type EUInformation struct {
    NamespaceURI    string
    UnitID          int32
    DisplayName     LocalizedText
    Description     LocalizedText
}


// ComplexNumberType structure.
type ComplexNumberType struct {
    Real         float32
    Imaginary    float32
}


// DoubleComplexNumberType structure.
type DoubleComplexNumberType struct {
    Real         float64
    Imaginary    float64
}


// AxisInformation structure.
type AxisInformation struct {
    EngineeringUnits    EUInformation
    EURange             Range
    Title               LocalizedText
    AxisScaleType       AxisScaleEnumeration
    AxisSteps           []float64
}


// XVType structure.
type XVType struct {
    X        float64
    Value    float32
}


// ProgramDiagnosticDataType structure.
type ProgramDiagnosticDataType struct {
    CreateSessionID              NodeID
    CreateClientName             string
    InvocationCreationTime       time.Time
    LastTransitionTime           time.Time
    LastMethodCall               string
    LastMethodSessionID          NodeID
    LastMethodInputArguments     []Argument
    LastMethodOutputArguments    []Argument
    LastMethodCallTime           time.Time
    LastMethodReturnStatus       StatusResult
}


// ProgramDiagnostic2DataType structure.
type ProgramDiagnostic2DataType struct {
    CreateSessionID              NodeID
    CreateClientName             string
    InvocationCreationTime       time.Time
    LastTransitionTime           time.Time
    LastMethodCall               string
    LastMethodSessionID          NodeID
    LastMethodInputArguments     []Argument
    LastMethodOutputArguments    []Argument
    LastMethodInputValues        []Variant
    LastMethodOutputValues       []Variant
    LastMethodCallTime           time.Time
    LastMethodReturnStatus       StatusResult
}


// Annotation structure.
type Annotation struct {
    Message           string
    UserName          string
    AnnotationTime    time.Time
}



func init() {
        RegisterBinaryEncodingID(reflect.TypeOf((*KeyValuePair)(nil)).Elem(), NewExpandedNodeID(ObjectIDKeyValuePairEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AdditionalParametersType)(nil)).Elem(), NewExpandedNodeID(ObjectIDAdditionalParametersTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EphemeralKeyType)(nil)).Elem(), NewExpandedNodeID(ObjectIDEphemeralKeyTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EndpointType)(nil)).Elem(), NewExpandedNodeID(ObjectIDEndpointTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RationalNumber)(nil)).Elem(), NewExpandedNodeID(ObjectIDRationalNumberEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Vector)(nil)).Elem(), NewExpandedNodeID(ObjectIDVectorEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ThreeDVector)(nil)).Elem(), NewExpandedNodeID(ObjectIDThreeDVectorEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CartesianCoordinates)(nil)).Elem(), NewExpandedNodeID(ObjectIDCartesianCoordinatesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ThreeDCartesianCoordinates)(nil)).Elem(), NewExpandedNodeID(ObjectIDThreeDCartesianCoordinatesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Orientation)(nil)).Elem(), NewExpandedNodeID(ObjectIDOrientationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ThreeDOrientation)(nil)).Elem(), NewExpandedNodeID(ObjectIDThreeDOrientationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Frame)(nil)).Elem(), NewExpandedNodeID(ObjectIDFrameEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ThreeDFrame)(nil)).Elem(), NewExpandedNodeID(ObjectIDThreeDFrameEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*IdentityMappingRuleType)(nil)).Elem(), NewExpandedNodeID(ObjectIDIdentityMappingRuleTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CurrencyUnitType)(nil)).Elem(), NewExpandedNodeID(ObjectIDCurrencyUnitTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TrustListDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDTrustListDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DecimalDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDecimalDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataTypeSchemaHeader)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataTypeSchemaHeaderEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataTypeDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataTypeDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*StructureDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDStructureDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EnumDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDEnumDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SimpleTypeDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDSimpleTypeDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UABinaryFileDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDUABinaryFileDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetMetaDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetMetaDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FieldMetaData)(nil)).Elem(), NewExpandedNodeID(ObjectIDFieldMetaDataEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ConfigurationVersionDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDConfigurationVersionDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishedDataSetDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishedDataSetDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishedDataSetSourceDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishedDataSetSourceDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishedVariableDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishedVariableDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishedDataItemsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishedDataItemsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishedEventsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishedEventsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetWriterDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetWriterDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetWriterTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetWriterTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetWriterMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetWriterMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PubSubGroupDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPubSubGroupDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriterGroupDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriterGroupDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriterGroupTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriterGroupTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriterGroupMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriterGroupMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PubSubConnectionDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPubSubConnectionDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ConnectionTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDConnectionTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NetworkAddressDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDNetworkAddressDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NetworkAddressURLDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDNetworkAddressURLDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReaderGroupDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDReaderGroupDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReaderGroupTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDReaderGroupTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReaderGroupMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDReaderGroupMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetReaderDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetReaderDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetReaderTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetReaderTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataSetReaderMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataSetReaderMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SubscribedDataSetDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSubscribedDataSetDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TargetVariablesDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDTargetVariablesDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FieldTargetDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDFieldTargetDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SubscribedDataSetMirrorDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSubscribedDataSetMirrorDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PubSubConfigurationDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDPubSubConfigurationDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UADPWriterGroupMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDUADPWriterGroupMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UADPDataSetWriterMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDUADPDataSetWriterMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UADPDataSetReaderMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDUADPDataSetReaderMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*JSONWriterGroupMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDJSONWriterGroupMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*JSONDataSetWriterMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDJSONDataSetWriterMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*JSONDataSetReaderMessageDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDJSONDataSetReaderMessageDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DatagramConnectionTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDatagramConnectionTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DatagramWriterGroupTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDatagramWriterGroupTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrokerConnectionTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrokerConnectionTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrokerWriterGroupTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrokerWriterGroupTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrokerDataSetWriterTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrokerDataSetWriterTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrokerDataSetReaderTransportDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrokerDataSetReaderTransportDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AliasNameDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDAliasNameDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RolePermissionType)(nil)).Elem(), NewExpandedNodeID(ObjectIDRolePermissionTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*StructureField)(nil)).Elem(), NewExpandedNodeID(ObjectIDStructureFieldEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*StructureDefinition)(nil)).Elem(), NewExpandedNodeID(ObjectIDStructureDefinitionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EnumDefinition)(nil)).Elem(), NewExpandedNodeID(ObjectIDEnumDefinitionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Argument)(nil)).Elem(), NewExpandedNodeID(ObjectIDArgumentEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EnumValueType)(nil)).Elem(), NewExpandedNodeID(ObjectIDEnumValueTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EnumField)(nil)).Elem(), NewExpandedNodeID(ObjectIDEnumFieldEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*OptionSet)(nil)).Elem(), NewExpandedNodeID(ObjectIDOptionSetEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Union)(nil)).Elem(), NewExpandedNodeID(ObjectIDUnionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TimeZoneDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDTimeZoneDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ApplicationDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDApplicationDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RequestHeader)(nil)).Elem(), NewExpandedNodeID(ObjectIDRequestHeaderEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ResponseHeader)(nil)).Elem(), NewExpandedNodeID(ObjectIDResponseHeaderEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ServiceFault)(nil)).Elem(), NewExpandedNodeID(ObjectIDServiceFaultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SessionlessInvokeRequestType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSessionlessInvokeRequestTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SessionlessInvokeResponseType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSessionlessInvokeResponseTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FindServersRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDFindServersRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FindServersResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDFindServersResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ServerOnNetwork)(nil)).Elem(), NewExpandedNodeID(ObjectIDServerOnNetworkEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FindServersOnNetworkRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDFindServersOnNetworkRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FindServersOnNetworkResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDFindServersOnNetworkResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UserTokenPolicy)(nil)).Elem(), NewExpandedNodeID(ObjectIDUserTokenPolicyEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EndpointDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDEndpointDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*GetEndpointsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDGetEndpointsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*GetEndpointsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDGetEndpointsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisteredServer)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisteredServerEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterServerRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterServerRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterServerResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterServerResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DiscoveryConfiguration)(nil)).Elem(), NewExpandedNodeID(ObjectIDDiscoveryConfigurationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MdnsDiscoveryConfiguration)(nil)).Elem(), NewExpandedNodeID(ObjectIDMdnsDiscoveryConfigurationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterServer2Request)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterServer2RequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterServer2Response)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterServer2ResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ChannelSecurityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDChannelSecurityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*OpenSecureChannelRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDOpenSecureChannelRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*OpenSecureChannelResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDOpenSecureChannelResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CloseSecureChannelRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCloseSecureChannelRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CloseSecureChannelResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCloseSecureChannelResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SignedSoftwareCertificate)(nil)).Elem(), NewExpandedNodeID(ObjectIDSignedSoftwareCertificateEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SignatureData)(nil)).Elem(), NewExpandedNodeID(ObjectIDSignatureDataEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateSessionRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateSessionRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateSessionResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateSessionResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UserIdentityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDUserIdentityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AnonymousIdentityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDAnonymousIdentityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UserNameIdentityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDUserNameIdentityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*X509IdentityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDX509IdentityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*IssuedIdentityToken)(nil)).Elem(), NewExpandedNodeID(ObjectIDIssuedIdentityTokenEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ActivateSessionRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDActivateSessionRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ActivateSessionResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDActivateSessionResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CloseSessionRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCloseSessionRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CloseSessionResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCloseSessionResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CancelRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCancelRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CancelResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCancelResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NodeAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDNodeAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ObjectAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDObjectAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*VariableAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDVariableAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MethodAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDMethodAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ObjectTypeAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDObjectTypeAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*VariableTypeAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDVariableTypeAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReferenceTypeAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDReferenceTypeAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataTypeAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataTypeAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ViewAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDViewAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*GenericAttributeValue)(nil)).Elem(), NewExpandedNodeID(ObjectIDGenericAttributeValueEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*GenericAttributes)(nil)).Elem(), NewExpandedNodeID(ObjectIDGenericAttributesEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddNodesItem)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddNodesItemEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddNodesResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddNodesResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddNodesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddNodesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddNodesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddNodesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddReferencesItem)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddReferencesItemEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddReferencesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddReferencesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AddReferencesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDAddReferencesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteNodesItem)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteNodesItemEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteNodesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteNodesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteNodesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteNodesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteReferencesItem)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteReferencesItemEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteReferencesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteReferencesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteReferencesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteReferencesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ViewDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDViewDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReferenceDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDReferenceDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseNextRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseNextRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowseNextResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowseNextResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RelativePathElement)(nil)).Elem(), NewExpandedNodeID(ObjectIDRelativePathElementEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RelativePath)(nil)).Elem(), NewExpandedNodeID(ObjectIDRelativePathEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowsePath)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowsePathEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowsePathTarget)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowsePathTargetEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BrowsePathResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDBrowsePathResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TranslateBrowsePathsToNodeIDsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDTranslateBrowsePathsToNodeIDsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TranslateBrowsePathsToNodeIDsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDTranslateBrowsePathsToNodeIDsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterNodesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterNodesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RegisterNodesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDRegisterNodesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UnregisterNodesRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDUnregisterNodesRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UnregisterNodesResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDUnregisterNodesResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EndpointConfiguration)(nil)).Elem(), NewExpandedNodeID(ObjectIDEndpointConfigurationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryDataDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryDataDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NodeTypeDescription)(nil)).Elem(), NewExpandedNodeID(ObjectIDNodeTypeDescriptionEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryDataSet)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryDataSetEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NodeReference)(nil)).Elem(), NewExpandedNodeID(ObjectIDNodeReferenceEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ContentFilterElement)(nil)).Elem(), NewExpandedNodeID(ObjectIDContentFilterElementEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ContentFilter)(nil)).Elem(), NewExpandedNodeID(ObjectIDContentFilterEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*FilterOperand)(nil)).Elem(), NewExpandedNodeID(ObjectIDFilterOperandEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ElementOperand)(nil)).Elem(), NewExpandedNodeID(ObjectIDElementOperandEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*LiteralOperand)(nil)).Elem(), NewExpandedNodeID(ObjectIDLiteralOperandEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AttributeOperand)(nil)).Elem(), NewExpandedNodeID(ObjectIDAttributeOperandEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SimpleAttributeOperand)(nil)).Elem(), NewExpandedNodeID(ObjectIDSimpleAttributeOperandEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ContentFilterElementResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDContentFilterElementResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ContentFilterResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDContentFilterResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ParsingResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDParsingResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryFirstRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryFirstRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryFirstResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryFirstResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryNextRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryNextRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*QueryNextResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDQueryNextResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadValueID)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadValueIDEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryReadValueID)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryReadValueIDEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryReadResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryReadResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryReadDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryReadDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadEventDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadEventDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadRawModifiedDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadRawModifiedDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadProcessedDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadProcessedDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadAtTimeDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadAtTimeDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ReadAnnotationDataDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDReadAnnotationDataDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryData)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryDataEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModificationInfo)(nil)).Elem(), NewExpandedNodeID(ObjectIDModificationInfoEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryModifiedData)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryModifiedDataEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryEvent)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryEventEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryReadRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryReadRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryReadResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryReadResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriteValue)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriteValueEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriteRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriteRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*WriteResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDWriteResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryUpdateDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryUpdateDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UpdateDataDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDUpdateDataDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UpdateStructureDataDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDUpdateStructureDataDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*UpdateEventDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDUpdateEventDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteRawModifiedDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteRawModifiedDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteAtTimeDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteAtTimeDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteEventDetails)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteEventDetailsEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryUpdateResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryUpdateResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryUpdateRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryUpdateRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryUpdateResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryUpdateResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CallMethodRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCallMethodRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CallMethodResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDCallMethodResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CallRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCallRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CallResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCallResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoringFilter)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoringFilterEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataChangeFilter)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataChangeFilterEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EventFilter)(nil)).Elem(), NewExpandedNodeID(ObjectIDEventFilterEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AggregateConfiguration)(nil)).Elem(), NewExpandedNodeID(ObjectIDAggregateConfigurationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AggregateFilter)(nil)).Elem(), NewExpandedNodeID(ObjectIDAggregateFilterEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoringFilterResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoringFilterResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EventFilterResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDEventFilterResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AggregateFilterResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDAggregateFilterResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoringParameters)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoringParametersEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoredItemCreateRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoredItemCreateRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoredItemCreateResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoredItemCreateResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateMonitoredItemsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateMonitoredItemsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateMonitoredItemsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateMonitoredItemsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoredItemModifyRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoredItemModifyRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoredItemModifyResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoredItemModifyResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModifyMonitoredItemsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDModifyMonitoredItemsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModifyMonitoredItemsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDModifyMonitoredItemsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetMonitoringModeRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetMonitoringModeRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetMonitoringModeResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetMonitoringModeResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetTriggeringRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetTriggeringRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetTriggeringResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetTriggeringResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteMonitoredItemsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteMonitoredItemsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteMonitoredItemsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteMonitoredItemsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateSubscriptionRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateSubscriptionRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*CreateSubscriptionResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDCreateSubscriptionResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModifySubscriptionRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDModifySubscriptionRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModifySubscriptionResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDModifySubscriptionResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetPublishingModeRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetPublishingModeRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SetPublishingModeResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDSetPublishingModeResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NotificationMessage)(nil)).Elem(), NewExpandedNodeID(ObjectIDNotificationMessageEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NotificationData)(nil)).Elem(), NewExpandedNodeID(ObjectIDNotificationDataEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DataChangeNotification)(nil)).Elem(), NewExpandedNodeID(ObjectIDDataChangeNotificationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*MonitoredItemNotification)(nil)).Elem(), NewExpandedNodeID(ObjectIDMonitoredItemNotificationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EventNotificationList)(nil)).Elem(), NewExpandedNodeID(ObjectIDEventNotificationListEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EventFieldList)(nil)).Elem(), NewExpandedNodeID(ObjectIDEventFieldListEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*HistoryEventFieldList)(nil)).Elem(), NewExpandedNodeID(ObjectIDHistoryEventFieldListEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*StatusChangeNotification)(nil)).Elem(), NewExpandedNodeID(ObjectIDStatusChangeNotificationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SubscriptionAcknowledgement)(nil)).Elem(), NewExpandedNodeID(ObjectIDSubscriptionAcknowledgementEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*PublishResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDPublishResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RepublishRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDRepublishRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RepublishResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDRepublishResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TransferResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDTransferResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TransferSubscriptionsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDTransferSubscriptionsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*TransferSubscriptionsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDTransferSubscriptionsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteSubscriptionsRequest)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteSubscriptionsRequestEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DeleteSubscriptionsResponse)(nil)).Elem(), NewExpandedNodeID(ObjectIDDeleteSubscriptionsResponseEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*BuildInfo)(nil)).Elem(), NewExpandedNodeID(ObjectIDBuildInfoEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*RedundantServerDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDRedundantServerDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EndpointURLListDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDEndpointURLListDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*NetworkGroupDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDNetworkGroupDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SamplingIntervalDiagnosticsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSamplingIntervalDiagnosticsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ServerDiagnosticsSummaryDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDServerDiagnosticsSummaryDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ServerStatusDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDServerStatusDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SessionDiagnosticsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSessionDiagnosticsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SessionSecurityDiagnosticsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSessionSecurityDiagnosticsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ServiceCounterDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDServiceCounterDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*StatusResult)(nil)).Elem(), NewExpandedNodeID(ObjectIDStatusResultEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SubscriptionDiagnosticsDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSubscriptionDiagnosticsDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ModelChangeStructureDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDModelChangeStructureDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*SemanticChangeStructureDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDSemanticChangeStructureDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Range)(nil)).Elem(), NewExpandedNodeID(ObjectIDRangeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*EUInformation)(nil)).Elem(), NewExpandedNodeID(ObjectIDEUInformationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ComplexNumberType)(nil)).Elem(), NewExpandedNodeID(ObjectIDComplexNumberTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*DoubleComplexNumberType)(nil)).Elem(), NewExpandedNodeID(ObjectIDDoubleComplexNumberTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*AxisInformation)(nil)).Elem(), NewExpandedNodeID(ObjectIDAxisInformationEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*XVType)(nil)).Elem(), NewExpandedNodeID(ObjectIDXVTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ProgramDiagnosticDataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDProgramDiagnosticDataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*ProgramDiagnostic2DataType)(nil)).Elem(), NewExpandedNodeID(ObjectIDProgramDiagnostic2DataTypeEncodingDefaultBinary))
        RegisterBinaryEncodingID(reflect.TypeOf((*Annotation)(nil)).Elem(), NewExpandedNodeID(ObjectIDAnnotationEncodingDefaultBinary))
}
