// -*- C++ -*-
//
// $Id$

// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
// TAO and the TAO IDL Compiler have been developed by:
//       Center for Distributed Object Computing
//       Washington University
//       St. Louis, MO
//       USA
//       http://www.cs.wustl.edu/~schmidt/doc-center.html
// and
//       Distributed Object Computing Laboratory
//       University of California at Irvine
//       Irvine, CA
//       USA
//       http://doc.ece.uci.edu/
// and
//       Institute for Software Integrated Systems
//       Vanderbilt University
//       Nashville, TN
//       USA
//       http://www.isis.vanderbilt.edu/
//
// Information about TAO is available at:
//     http://www.cs.wustl.edu/~schmidt/TAO.html

// TAO_IDL - Generated from
// be/be_codegen.cpp:303


#include "CSIC.h"
#include "tao/CDR.h"
#include "tao/ORB_Core.h"
#include "tao/Typecode.h"
#include "tao/Any_Dual_Impl_T.h"
#include "ace/OS_NS_string.h"

#if defined (__BORLANDC__)
#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
#endif /* __BORLANDC__ */

#if !defined (__ACE_INLINE__)
#include "CSIC.inl"
#endif /* !defined __ACE_INLINE__ */

// TAO_IDL - Generated from
// be/be_visitor_arg_traits.cpp:64

// Arg traits specializations.
namespace TAO
{
}


// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_X509CERTIFICATECHAIN_CS_)
#define _CSI_X509CERTIFICATECHAIN_CS_

CSI::X509CertificateChain::X509CertificateChain (void)
{}

CSI::X509CertificateChain::X509CertificateChain (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::X509CertificateChain::X509CertificateChain (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::X509CertificateChain::X509CertificateChain (
    const X509CertificateChain &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::X509CertificateChain::~X509CertificateChain (void)
{}

void CSI::X509CertificateChain::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  X509CertificateChain * _tao_tmp_pointer =
    static_cast<X509CertificateChain *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_X509CertificateChain[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  41,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x58353039), 
  ACE_NTOHL (0x43657274), 
  ACE_NTOHL (0x69666963), 
  ACE_NTOHL (0x61746543), 
  ACE_NTOHL (0x6861696e), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/X509CertificateChain:1.0
    21,
  ACE_NTOHL (0x58353039), 
  ACE_NTOHL (0x43657274), 
  ACE_NTOHL (0x69666963), 
  ACE_NTOHL (0x61746543), 
  ACE_NTOHL (0x6861696e), 
  ACE_NTOHL (0x0),  // name = X509CertificateChain
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_X509CertificateChain (
    CORBA::tk_alias,
    sizeof (_oc_CSI_X509CertificateChain),
    (char *) &_oc_CSI_X509CertificateChain,
    0,
    sizeof (CSI::X509CertificateChain)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_X509CertificateChain =
    &_tc_TAO_tc_CSI_X509CertificateChain;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_X501DISTINGUISHEDNAME_CS_)
#define _CSI_X501DISTINGUISHEDNAME_CS_

CSI::X501DistinguishedName::X501DistinguishedName (void)
{}

CSI::X501DistinguishedName::X501DistinguishedName (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::X501DistinguishedName::X501DistinguishedName (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::X501DistinguishedName::X501DistinguishedName (
    const X501DistinguishedName &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::X501DistinguishedName::~X501DistinguishedName (void)
{}

void CSI::X501DistinguishedName::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  X501DistinguishedName * _tao_tmp_pointer =
    static_cast<X501DistinguishedName *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_X501DistinguishedName[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  42,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x58353031), 
  ACE_NTOHL (0x44697374), 
  ACE_NTOHL (0x696e6775), 
  ACE_NTOHL (0x69736865), 
  ACE_NTOHL (0x644e616d), 
  ACE_NTOHL (0x653a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/X501DistinguishedName:1.0
    22,
  ACE_NTOHL (0x58353031), 
  ACE_NTOHL (0x44697374), 
  ACE_NTOHL (0x696e6775), 
  ACE_NTOHL (0x69736865), 
  ACE_NTOHL (0x644e616d), 
  ACE_NTOHL (0x65000000),  // name = X501DistinguishedName
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_X501DistinguishedName (
    CORBA::tk_alias,
    sizeof (_oc_CSI_X501DistinguishedName),
    (char *) &_oc_CSI_X501DistinguishedName,
    0,
    sizeof (CSI::X501DistinguishedName)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_X501DistinguishedName =
    &_tc_TAO_tc_CSI_X501DistinguishedName;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_UTF8STRING_CS_)
#define _CSI_UTF8STRING_CS_

CSI::UTF8String::UTF8String (void)
{}

CSI::UTF8String::UTF8String (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::UTF8String::UTF8String (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::UTF8String::UTF8String (
    const UTF8String &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::UTF8String::~UTF8String (void)
{}

void CSI::UTF8String::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  UTF8String * _tao_tmp_pointer =
    static_cast<UTF8String *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_UTF8String[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  31,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x55544638), 
  ACE_NTOHL (0x53747269), 
  ACE_NTOHL (0x6e673a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CSI/UTF8String:1.0
    11,
  ACE_NTOHL (0x55544638), 
  ACE_NTOHL (0x53747269), 
  ACE_NTOHL (0x6e670000),  // name = UTF8String
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_UTF8String (
    CORBA::tk_alias,
    sizeof (_oc_CSI_UTF8String),
    (char *) &_oc_CSI_UTF8String,
    0,
    sizeof (CSI::UTF8String)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_UTF8String =
    &_tc_TAO_tc_CSI_UTF8String;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_OID_CS_)
#define _CSI_OID_CS_

CSI::OID::OID (void)
{}

CSI::OID::OID (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::OID::OID (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::OID::OID (
    const OID &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::OID::~OID (void)
{}

void CSI::OID::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  OID * _tao_tmp_pointer =
    static_cast<OID *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_OID[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  24,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4f49443a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/OID:1.0
    4,
  ACE_NTOHL (0x4f494400),  // name = OID
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_OID (
    CORBA::tk_alias,
    sizeof (_oc_CSI_OID),
    (char *) &_oc_CSI_OID,
    0,
    sizeof (CSI::OID)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_OID =
    &_tc_TAO_tc_CSI_OID;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_OIDLIST_CS_)
#define _CSI_OIDLIST_CS_

CSI::OIDList::OIDList (void)
{}

CSI::OIDList::OIDList (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CSI::OID
      >
    (max)
{}

CSI::OIDList::OIDList (
    CORBA::ULong max,
    CORBA::ULong length,
    CSI::OID * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CSI::OID
      >
    (max, length, buffer, release)
{}

CSI::OIDList::OIDList (
    const OIDList &seq
  )
  : TAO_Unbounded_Sequence<
        CSI::OID
      >
    (seq)
{}

CSI::OIDList::~OIDList (void)
{}

void CSI::OIDList::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  OIDList * _tao_tmp_pointer =
    static_cast<OIDList *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_OIDList[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  28,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4f49444c), 
  ACE_NTOHL (0x6973743a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/OIDList:1.0
    8,
  ACE_NTOHL (0x4f49444c), 
  ACE_NTOHL (0x69737400),  // name = OIDList
    CORBA::tk_sequence, // typecode kind
  76, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_alias, // typecode kind for typedefs
    60, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      24,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x4f49443a), 
      ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/OID:1.0
            4,
      ACE_NTOHL (0x4f494400),  // name = OID
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,


    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_OIDList (
    CORBA::tk_alias,
    sizeof (_oc_CSI_OIDList),
    (char *) &_oc_CSI_OIDList,
    0,
    sizeof (CSI::OIDList)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_OIDList =
    &_tc_TAO_tc_CSI_OIDList;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_GSSTOKEN_CS_)
#define _CSI_GSSTOKEN_CS_

CSI::GSSToken::GSSToken (void)
{}

CSI::GSSToken::GSSToken (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::GSSToken::GSSToken (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::GSSToken::GSSToken (
    const GSSToken &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::GSSToken::~GSSToken (void)
{}

void CSI::GSSToken::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  GSSToken * _tao_tmp_pointer =
    static_cast<GSSToken *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_GSSToken[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  29,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x47535354), 
  ACE_NTOHL (0x6f6b656e), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
    9,
  ACE_NTOHL (0x47535354), 
  ACE_NTOHL (0x6f6b656e), 
  ACE_NTOHL (0x0),  // name = GSSToken
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_GSSToken (
    CORBA::tk_alias,
    sizeof (_oc_CSI_GSSToken),
    (char *) &_oc_CSI_GSSToken,
    0,
    sizeof (CSI::GSSToken)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_GSSToken =
    &_tc_TAO_tc_CSI_GSSToken;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_GSS_NT_EXPORTEDNAME_CS_)
#define _CSI_GSS_NT_EXPORTEDNAME_CS_

CSI::GSS_NT_ExportedName::GSS_NT_ExportedName (void)
{}

CSI::GSS_NT_ExportedName::GSS_NT_ExportedName (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::GSS_NT_ExportedName::GSS_NT_ExportedName (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::GSS_NT_ExportedName::GSS_NT_ExportedName (
    const GSS_NT_ExportedName &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::GSS_NT_ExportedName::~GSS_NT_ExportedName (void)
{}

void CSI::GSS_NT_ExportedName::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  GSS_NT_ExportedName * _tao_tmp_pointer =
    static_cast<GSS_NT_ExportedName *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_GSS_NT_ExportedName[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  40,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4753535f), 
  ACE_NTOHL (0x4e545f45), 
  ACE_NTOHL (0x78706f72), 
  ACE_NTOHL (0x7465644e), 
  ACE_NTOHL (0x616d653a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedName:1.0
    20,
  ACE_NTOHL (0x4753535f), 
  ACE_NTOHL (0x4e545f45), 
  ACE_NTOHL (0x78706f72), 
  ACE_NTOHL (0x7465644e), 
  ACE_NTOHL (0x616d6500),  // name = GSS_NT_ExportedName
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_GSS_NT_ExportedName (
    CORBA::tk_alias,
    sizeof (_oc_CSI_GSS_NT_ExportedName),
    (char *) &_oc_CSI_GSS_NT_ExportedName,
    0,
    sizeof (CSI::GSS_NT_ExportedName)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_GSS_NT_ExportedName =
    &_tc_TAO_tc_CSI_GSS_NT_ExportedName;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_GSS_NT_EXPORTEDNAMELIST_CS_)
#define _CSI_GSS_NT_EXPORTEDNAMELIST_CS_

CSI::GSS_NT_ExportedNameList::GSS_NT_ExportedNameList (void)
{}

CSI::GSS_NT_ExportedNameList::GSS_NT_ExportedNameList (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CSI::GSS_NT_ExportedName
      >
    (max)
{}

CSI::GSS_NT_ExportedNameList::GSS_NT_ExportedNameList (
    CORBA::ULong max,
    CORBA::ULong length,
    CSI::GSS_NT_ExportedName * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CSI::GSS_NT_ExportedName
      >
    (max, length, buffer, release)
{}

CSI::GSS_NT_ExportedNameList::GSS_NT_ExportedNameList (
    const GSS_NT_ExportedNameList &seq
  )
  : TAO_Unbounded_Sequence<
        CSI::GSS_NT_ExportedName
      >
    (seq)
{}

CSI::GSS_NT_ExportedNameList::~GSS_NT_ExportedNameList (void)
{}

void CSI::GSS_NT_ExportedNameList::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  GSS_NT_ExportedNameList * _tao_tmp_pointer =
    static_cast<GSS_NT_ExportedNameList *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_GSS_NT_ExportedNameList[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  44,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4753535f), 
  ACE_NTOHL (0x4e545f45), 
  ACE_NTOHL (0x78706f72), 
  ACE_NTOHL (0x7465644e), 
  ACE_NTOHL (0x616d654c), 
  ACE_NTOHL (0x6973743a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedNameList:1.0
    24,
  ACE_NTOHL (0x4753535f), 
  ACE_NTOHL (0x4e545f45), 
  ACE_NTOHL (0x78706f72), 
  ACE_NTOHL (0x7465644e), 
  ACE_NTOHL (0x616d654c), 
  ACE_NTOHL (0x69737400),  // name = GSS_NT_ExportedNameList
    CORBA::tk_sequence, // typecode kind
  108, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_alias, // typecode kind for typedefs
    92, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      40,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x4753535f), 
      ACE_NTOHL (0x4e545f45), 
      ACE_NTOHL (0x78706f72), 
      ACE_NTOHL (0x7465644e), 
      ACE_NTOHL (0x616d653a), 
      ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedName:1.0
            20,
      ACE_NTOHL (0x4753535f), 
      ACE_NTOHL (0x4e545f45), 
      ACE_NTOHL (0x78706f72), 
      ACE_NTOHL (0x7465644e), 
      ACE_NTOHL (0x616d6500),  // name = GSS_NT_ExportedName
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,


    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_GSS_NT_ExportedNameList (
    CORBA::tk_alias,
    sizeof (_oc_CSI_GSS_NT_ExportedNameList),
    (char *) &_oc_CSI_GSS_NT_ExportedNameList,
    0,
    sizeof (CSI::GSS_NT_ExportedNameList)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_GSS_NT_ExportedNameList =
    &_tc_TAO_tc_CSI_GSS_NT_ExportedNameList;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_MsgType[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  28,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4d736754), 
  ACE_NTOHL (0x7970653a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/MsgType:1.0
    8,
  ACE_NTOHL (0x4d736754), 
  ACE_NTOHL (0x79706500),  // name = MsgType
    CORBA::tk_short,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_MsgType (
    CORBA::tk_alias,
    sizeof (_oc_CSI_MsgType),
    (char *) &_oc_CSI_MsgType,
    0,
    sizeof (CSI::MsgType)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_MsgType =
    &_tc_TAO_tc_CSI_MsgType;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_ContextId[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  30,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x65787449), 
  ACE_NTOHL (0x643a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
    10,
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x65787449), 
  ACE_NTOHL (0x64000000),  // name = ContextId
    CORBA::tk_ulonglong,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_ContextId (
    CORBA::tk_alias,
    sizeof (_oc_CSI_ContextId),
    (char *) &_oc_CSI_ContextId,
    0,
    sizeof (CSI::ContextId)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_ContextId =
    &_tc_TAO_tc_CSI_ContextId;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_AuthorizationElementType[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  45,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementType:1.0
    25,
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x0),  // name = AuthorizationElementType
    CORBA::tk_ulong,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_AuthorizationElementType (
    CORBA::tk_alias,
    sizeof (_oc_CSI_AuthorizationElementType),
    (char *) &_oc_CSI_AuthorizationElementType,
    0,
    sizeof (CSI::AuthorizationElementType)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_AuthorizationElementType =
    &_tc_TAO_tc_CSI_AuthorizationElementType;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_AUTHORIZATIONELEMENTCONTENTS_CS_)
#define _CSI_AUTHORIZATIONELEMENTCONTENTS_CS_

CSI::AuthorizationElementContents::AuthorizationElementContents (void)
{}

CSI::AuthorizationElementContents::AuthorizationElementContents (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::AuthorizationElementContents::AuthorizationElementContents (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::AuthorizationElementContents::AuthorizationElementContents (
    const AuthorizationElementContents &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::AuthorizationElementContents::~AuthorizationElementContents (void)
{}

void CSI::AuthorizationElementContents::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  AuthorizationElementContents * _tao_tmp_pointer =
    static_cast<AuthorizationElementContents *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_AuthorizationElementContents[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  49,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x656e7473), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementContents:1.0
    29,
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x656e7473), 
  ACE_NTOHL (0x0),  // name = AuthorizationElementContents
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_AuthorizationElementContents (
    CORBA::tk_alias,
    sizeof (_oc_CSI_AuthorizationElementContents),
    (char *) &_oc_CSI_AuthorizationElementContents,
    0,
    sizeof (CSI::AuthorizationElementContents)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_AuthorizationElementContents =
    &_tc_TAO_tc_CSI_AuthorizationElementContents;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_AuthorizationElement[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  41,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElement:1.0
    21,
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e456c65), 
  ACE_NTOHL (0x6d656e74), 
  ACE_NTOHL (0x0),  // name = AuthorizationElement
  2, // member count
    9,
  ACE_NTOHL (0x7468655f), 
  ACE_NTOHL (0x74797065), 
  ACE_NTOHL (0x0),  // name = the_type
    CORBA::tk_alias, // typecode kind for typedefs
  92, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    45,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e456c65), 
    ACE_NTOHL (0x6d656e74), 
    ACE_NTOHL (0x54797065), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementType:1.0
        25,
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e456c65), 
    ACE_NTOHL (0x6d656e74), 
    ACE_NTOHL (0x54797065), 
    ACE_NTOHL (0x0),  // name = AuthorizationElementType
        CORBA::tk_ulong,


  12,
  ACE_NTOHL (0x7468655f), 
  ACE_NTOHL (0x656c656d), 
  ACE_NTOHL (0x656e7400),  // name = the_element
    CORBA::tk_alias, // typecode kind for typedefs
  116, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    49,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e456c65), 
    ACE_NTOHL (0x6d656e74), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x656e7473), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementContents:1.0
        29,
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e456c65), 
    ACE_NTOHL (0x6d656e74), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x656e7473), 
    ACE_NTOHL (0x0),  // name = AuthorizationElementContents
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_AuthorizationElement (
    CORBA::tk_struct,
    sizeof (_oc_CSI_AuthorizationElement),
    (char *) &_oc_CSI_AuthorizationElement,
    0,
    sizeof (CSI::AuthorizationElement)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_AuthorizationElement =
    &_tc_TAO_tc_CSI_AuthorizationElement;
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/structure_cs.cpp:66

void 
CSI::AuthorizationElement::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  AuthorizationElement *_tao_tmp_pointer =
    static_cast<AuthorizationElement *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_AUTHORIZATIONTOKEN_CS_)
#define _CSI_AUTHORIZATIONTOKEN_CS_

CSI::AuthorizationToken::AuthorizationToken (void)
{}

CSI::AuthorizationToken::AuthorizationToken (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CSI::AuthorizationElement
      >
    (max)
{}

CSI::AuthorizationToken::AuthorizationToken (
    CORBA::ULong max,
    CORBA::ULong length,
    CSI::AuthorizationElement * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CSI::AuthorizationElement
      >
    (max, length, buffer, release)
{}

CSI::AuthorizationToken::AuthorizationToken (
    const AuthorizationToken &seq
  )
  : TAO_Unbounded_Sequence<
        CSI::AuthorizationElement
      >
    (seq)
{}

CSI::AuthorizationToken::~AuthorizationToken (void)
{}

void CSI::AuthorizationToken::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  AuthorizationToken * _tao_tmp_pointer =
    static_cast<AuthorizationToken *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_AuthorizationToken[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  39,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e546f6b), 
  ACE_NTOHL (0x656e3a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CSI/AuthorizationToken:1.0
    19,
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e546f6b), 
  ACE_NTOHL (0x656e0000),  // name = AuthorizationToken
    CORBA::tk_sequence, // typecode kind
  356, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_struct, // typecode kind
    340, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      41,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x41757468), 
      ACE_NTOHL (0x6f72697a), 
      ACE_NTOHL (0x6174696f), 
      ACE_NTOHL (0x6e456c65), 
      ACE_NTOHL (0x6d656e74), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElement:1.0
            21,
      ACE_NTOHL (0x41757468), 
      ACE_NTOHL (0x6f72697a), 
      ACE_NTOHL (0x6174696f), 
      ACE_NTOHL (0x6e456c65), 
      ACE_NTOHL (0x6d656e74), 
      ACE_NTOHL (0x0),  // name = AuthorizationElement
      2, // member count
            9,
      ACE_NTOHL (0x7468655f), 
      ACE_NTOHL (0x74797065), 
      ACE_NTOHL (0x0),  // name = the_type
            CORBA::tk_alias, // typecode kind for typedefs
      92, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        45,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x54797065), 
        ACE_NTOHL (0x3a312e30), 
        ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementType:1.0
                25,
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x54797065), 
        ACE_NTOHL (0x0),  // name = AuthorizationElementType
                CORBA::tk_ulong,


      12,
      ACE_NTOHL (0x7468655f), 
      ACE_NTOHL (0x656c656d), 
      ACE_NTOHL (0x656e7400),  // name = the_element
            CORBA::tk_alias, // typecode kind for typedefs
      116, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        49,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x436f6e74), 
        ACE_NTOHL (0x656e7473), 
        ACE_NTOHL (0x3a312e30), 
        ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementContents:1.0
                29,
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x436f6e74), 
        ACE_NTOHL (0x656e7473), 
        ACE_NTOHL (0x0),  // name = AuthorizationElementContents
                CORBA::tk_sequence, // typecode kind
        12, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          CORBA::tk_octet,

          0U,



    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_AuthorizationToken (
    CORBA::tk_alias,
    sizeof (_oc_CSI_AuthorizationToken),
    (char *) &_oc_CSI_AuthorizationToken,
    0,
    sizeof (CSI::AuthorizationToken)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_AuthorizationToken =
    &_tc_TAO_tc_CSI_AuthorizationToken;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_IdentityTokenType[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  38,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x546f6b65), 
  ACE_NTOHL (0x6e547970), 
  ACE_NTOHL (0x653a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityTokenType:1.0
    18,
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x546f6b65), 
  ACE_NTOHL (0x6e547970), 
  ACE_NTOHL (0x65000000),  // name = IdentityTokenType
    CORBA::tk_ulong,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_IdentityTokenType (
    CORBA::tk_alias,
    sizeof (_oc_CSI_IdentityTokenType),
    (char *) &_oc_CSI_IdentityTokenType,
    0,
    sizeof (CSI::IdentityTokenType)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_IdentityTokenType =
    &_tc_TAO_tc_CSI_IdentityTokenType;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_CSI_IDENTITYEXTENSION_CS_)
#define _CSI_IDENTITYEXTENSION_CS_

CSI::IdentityExtension::IdentityExtension (void)
{}

CSI::IdentityExtension::IdentityExtension (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max)
{}

CSI::IdentityExtension::IdentityExtension (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::Octet * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (max, length, buffer, release)
{}

CSI::IdentityExtension::IdentityExtension (
    const IdentityExtension &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::Octet
      >
    (seq)
{}

CSI::IdentityExtension::~IdentityExtension (void)
{}

void CSI::IdentityExtension::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  IdentityExtension * _tao_tmp_pointer =
    static_cast<IdentityExtension *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_IdentityExtension[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  38,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x45787465), 
  ACE_NTOHL (0x6e73696f), 
  ACE_NTOHL (0x6e3a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityExtension:1.0
    18,
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x45787465), 
  ACE_NTOHL (0x6e73696f), 
  ACE_NTOHL (0x6e000000),  // name = IdentityExtension
    CORBA::tk_sequence, // typecode kind
  12, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_octet,

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_IdentityExtension (
    CORBA::tk_alias,
    sizeof (_oc_CSI_IdentityExtension),
    (char *) &_oc_CSI_IdentityExtension,
    0,
    sizeof (CSI::IdentityExtension)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_IdentityExtension =
    &_tc_TAO_tc_CSI_IdentityExtension;
}

// TAO_IDL - Generated from
// be/be_visitor_union/union_cs.cpp:91

CSI::IdentityToken::IdentityToken (void)
{
  ACE_OS::memset (&this->disc_, 0, sizeof (this->disc_));
  ACE_OS::memset (&this->u_, 0, sizeof (this->u_));
  this->disc_ = 0U;
}

CSI::IdentityToken::IdentityToken (const ::CSI::IdentityToken &u)
{
  this->disc_ = u.disc_;
  switch (this->disc_)
  {
    case 0U:
    {
      this->u_.absent_ = u.u_.absent_;
    }
    break;
    case 1U:
    {
      this->u_.anonymous_ = u.u_.anonymous_;
    }
    break;
    case 2U:
    {
      if (u.u_.principal_name_ == 0)
        {
          this->u_.principal_name_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.principal_name_,
              CSI::GSS_NT_ExportedName (*u.u_.principal_name_)
            );
        }
    }
    break;
    case 4U:
    {
      if (u.u_.certificate_chain_ == 0)
        {
          this->u_.certificate_chain_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.certificate_chain_,
              CSI::X509CertificateChain (*u.u_.certificate_chain_)
            );
        }
    }
    break;
    case 8U:
    {
      if (u.u_.dn_ == 0)
        {
          this->u_.dn_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.dn_,
              CSI::X501DistinguishedName (*u.u_.dn_)
            );
        }
    }
    break;
    default:
    {
      if (u.u_.id_ == 0)
        {
          this->u_.id_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.id_,
              CSI::IdentityExtension (*u.u_.id_)
            );
        }
    }
    break;
  }
}

CSI::IdentityToken::~IdentityToken (void)
{
  // Finalize.
  this->_reset (this->disc_, 1);
}

void CSI::IdentityToken::_tao_any_destructor (void *_tao_void_pointer)
{
  IdentityToken *tmp =
    static_cast<IdentityToken *> (_tao_void_pointer);
  delete tmp;
}

CSI::IdentityToken &
CSI::IdentityToken::operator= (const ::CSI::IdentityToken &u)
{
  if (&u == this)
    {
      return *this;
    }
  
  this->_reset (u.disc_, 0);
  this->disc_ = u.disc_;
  
  switch (this->disc_)
  {
    case 0U:
    {
      this->u_.absent_ = u.u_.absent_;
    }
    break;
    case 1U:
    {
      this->u_.anonymous_ = u.u_.anonymous_;
    }
    break;
    case 2U:
    {
      if (u.u_.principal_name_ == 0)
        {
          this->u_.principal_name_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.principal_name_,
              CSI::GSS_NT_ExportedName (*u.u_.principal_name_),
              *this
            );
        }
    }
    break;
    case 4U:
    {
      if (u.u_.certificate_chain_ == 0)
        {
          this->u_.certificate_chain_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.certificate_chain_,
              CSI::X509CertificateChain (*u.u_.certificate_chain_),
              *this
            );
        }
    }
    break;
    case 8U:
    {
      if (u.u_.dn_ == 0)
        {
          this->u_.dn_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.dn_,
              CSI::X501DistinguishedName (*u.u_.dn_),
              *this
            );
        }
    }
    break;
    default:
    {
      if (u.u_.id_ == 0)
        {
          this->u_.id_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.id_,
              CSI::IdentityExtension (*u.u_.id_),
              *this
            );
        }
    }
    break;
  }
  
  return *this;
}

// Reset method to reset old values of a union.
void CSI::IdentityToken::_reset (CORBA::ULong, CORBA::Boolean /*finalize*/)
{
  switch (this->disc_)
  {
    
    case 0U:
      break;
    case 1U:
      break;
    case 2U:
      delete this->u_.principal_name_;
      this->u_.principal_name_ = 0;
      break;
    case 4U:
      delete this->u_.certificate_chain_;
      this->u_.certificate_chain_ = 0;
      break;
    case 8U:
      delete this->u_.dn_;
      this->u_.dn_ = 0;
      break;
    default:
      delete this->u_.id_;
      this->u_.id_ = 0;
      break;
  }
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_IdentityToken[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  34,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x546f6b65), 
  ACE_NTOHL (0x6e3a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityToken:1.0
  14,
  ACE_NTOHL (0x4964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x546f6b65), 
  ACE_NTOHL (0x6e000000),  // name = IdentityToken
    CORBA::tk_ulong,

5, // default used index
  6, // member count
    0x00000000, // union case label (evaluated value)
  7,
  ACE_NTOHL (0x61627365), 
  ACE_NTOHL (0x6e740000),  // name = absent
    CORBA::tk_boolean,

  0x00000001, // union case label (evaluated value)
  10,
  ACE_NTOHL (0x616e6f6e), 
  ACE_NTOHL (0x796d6f75), 
  ACE_NTOHL (0x73000000),  // name = anonymous
    CORBA::tk_boolean,

  0x00000002, // union case label (evaluated value)
  15,
  ACE_NTOHL (0x7072696e), 
  ACE_NTOHL (0x63697061), 
  ACE_NTOHL (0x6c5f6e61), 
  ACE_NTOHL (0x6d650000),  // name = principal_name
    CORBA::tk_alias, // typecode kind for typedefs
  92, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    40,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x4753535f), 
    ACE_NTOHL (0x4e545f45), 
    ACE_NTOHL (0x78706f72), 
    ACE_NTOHL (0x7465644e), 
    ACE_NTOHL (0x616d653a), 
    ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedName:1.0
        20,
    ACE_NTOHL (0x4753535f), 
    ACE_NTOHL (0x4e545f45), 
    ACE_NTOHL (0x78706f72), 
    ACE_NTOHL (0x7465644e), 
    ACE_NTOHL (0x616d6500),  // name = GSS_NT_ExportedName
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


  0x00000004, // union case label (evaluated value)
  18,
  ACE_NTOHL (0x63657274), 
  ACE_NTOHL (0x69666963), 
  ACE_NTOHL (0x6174655f), 
  ACE_NTOHL (0x63686169), 
  ACE_NTOHL (0x6e000000),  // name = certificate_chain
    CORBA::tk_alias, // typecode kind for typedefs
  100, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    41,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x58353039), 
    ACE_NTOHL (0x43657274), 
    ACE_NTOHL (0x69666963), 
    ACE_NTOHL (0x61746543), 
    ACE_NTOHL (0x6861696e), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/X509CertificateChain:1.0
        21,
    ACE_NTOHL (0x58353039), 
    ACE_NTOHL (0x43657274), 
    ACE_NTOHL (0x69666963), 
    ACE_NTOHL (0x61746543), 
    ACE_NTOHL (0x6861696e), 
    ACE_NTOHL (0x0),  // name = X509CertificateChain
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


  0x00000008, // union case label (evaluated value)
  3,
  ACE_NTOHL (0x646e0000),  // name = dn
    CORBA::tk_alias, // typecode kind for typedefs
  100, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    42,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x58353031), 
    ACE_NTOHL (0x44697374), 
    ACE_NTOHL (0x696e6775), 
    ACE_NTOHL (0x69736865), 
    ACE_NTOHL (0x644e616d), 
    ACE_NTOHL (0x653a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/X501DistinguishedName:1.0
        22,
    ACE_NTOHL (0x58353031), 
    ACE_NTOHL (0x44697374), 
    ACE_NTOHL (0x696e6775), 
    ACE_NTOHL (0x69736865), 
    ACE_NTOHL (0x644e616d), 
    ACE_NTOHL (0x65000000),  // name = X501DistinguishedName
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


  0x00000003, // union default label (evaluated value)
  3,
  ACE_NTOHL (0x69640000),  // name = id
    CORBA::tk_alias, // typecode kind for typedefs
  92, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    38,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x4964656e), 
    ACE_NTOHL (0x74697479), 
    ACE_NTOHL (0x45787465), 
    ACE_NTOHL (0x6e73696f), 
    ACE_NTOHL (0x6e3a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityExtension:1.0
        18,
    ACE_NTOHL (0x4964656e), 
    ACE_NTOHL (0x74697479), 
    ACE_NTOHL (0x45787465), 
    ACE_NTOHL (0x6e73696f), 
    ACE_NTOHL (0x6e000000),  // name = IdentityExtension
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_IdentityToken (
    CORBA::tk_union,
    sizeof (_oc_CSI_IdentityToken),
    (char *) &_oc_CSI_IdentityToken,
    0,
    sizeof (CSI::IdentityToken)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_IdentityToken =
    &_tc_TAO_tc_CSI_IdentityToken;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_EstablishContext[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  37,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x45737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/EstablishContext:1.0
    17,
  ACE_NTOHL (0x45737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x0),  // name = EstablishContext
  4, // member count
    18,
  ACE_NTOHL (0x636c6965), 
  ACE_NTOHL (0x6e745f63), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x78745f69), 
  ACE_NTOHL (0x64000000),  // name = client_context_id
    CORBA::tk_alias, // typecode kind for typedefs
  60, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    30,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x643a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
        10,
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x64000000),  // name = ContextId
        CORBA::tk_ulonglong,


  20,
  ACE_NTOHL (0x61757468), 
  ACE_NTOHL (0x6f72697a), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e5f746f), 
  ACE_NTOHL (0x6b656e00),  // name = authorization_token
    CORBA::tk_alias, // typecode kind for typedefs
  436, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    39,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e546f6b), 
    ACE_NTOHL (0x656e3a31), 
    ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CSI/AuthorizationToken:1.0
        19,
    ACE_NTOHL (0x41757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e546f6b), 
    ACE_NTOHL (0x656e0000),  // name = AuthorizationToken
        CORBA::tk_sequence, // typecode kind
    356, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_struct, // typecode kind
      340, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        41,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x3a312e30), 
        ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElement:1.0
                21,
        ACE_NTOHL (0x41757468), 
        ACE_NTOHL (0x6f72697a), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e456c65), 
        ACE_NTOHL (0x6d656e74), 
        ACE_NTOHL (0x0),  // name = AuthorizationElement
        2, // member count
                9,
        ACE_NTOHL (0x7468655f), 
        ACE_NTOHL (0x74797065), 
        ACE_NTOHL (0x0),  // name = the_type
                CORBA::tk_alias, // typecode kind for typedefs
        92, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          45,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x4353492f), 
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x54797065), 
          ACE_NTOHL (0x3a312e30), 
          ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementType:1.0
                    25,
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x54797065), 
          ACE_NTOHL (0x0),  // name = AuthorizationElementType
                    CORBA::tk_ulong,


        12,
        ACE_NTOHL (0x7468655f), 
        ACE_NTOHL (0x656c656d), 
        ACE_NTOHL (0x656e7400),  // name = the_element
                CORBA::tk_alias, // typecode kind for typedefs
        116, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          49,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x4353492f), 
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x436f6e74), 
          ACE_NTOHL (0x656e7473), 
          ACE_NTOHL (0x3a312e30), 
          ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementContents:1.0
                    29,
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x436f6e74), 
          ACE_NTOHL (0x656e7473), 
          ACE_NTOHL (0x0),  // name = AuthorizationElementContents
                    CORBA::tk_sequence, // typecode kind
          12, // encapsulation length
            TAO_ENCAP_BYTE_ORDER, // byte order
            CORBA::tk_octet,

            0U,



      0U,


  15,
  ACE_NTOHL (0x6964656e), 
  ACE_NTOHL (0x74697479), 
  ACE_NTOHL (0x5f746f6b), 
  ACE_NTOHL (0x656e0000),  // name = identity_token
    CORBA::tk_union, // typecode kind
  612, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    34,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x4964656e), 
    ACE_NTOHL (0x74697479), 
    ACE_NTOHL (0x546f6b65), 
    ACE_NTOHL (0x6e3a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityToken:1.0
    14,
    ACE_NTOHL (0x4964656e), 
    ACE_NTOHL (0x74697479), 
    ACE_NTOHL (0x546f6b65), 
    ACE_NTOHL (0x6e000000),  // name = IdentityToken
        CORBA::tk_ulong,

5, // default used index
    6, // member count
        0x00000000, // union case label (evaluated value)
    7,
    ACE_NTOHL (0x61627365), 
    ACE_NTOHL (0x6e740000),  // name = absent
        CORBA::tk_boolean,

    0x00000001, // union case label (evaluated value)
    10,
    ACE_NTOHL (0x616e6f6e), 
    ACE_NTOHL (0x796d6f75), 
    ACE_NTOHL (0x73000000),  // name = anonymous
        CORBA::tk_boolean,

    0x00000002, // union case label (evaluated value)
    15,
    ACE_NTOHL (0x7072696e), 
    ACE_NTOHL (0x63697061), 
    ACE_NTOHL (0x6c5f6e61), 
    ACE_NTOHL (0x6d650000),  // name = principal_name
        CORBA::tk_alias, // typecode kind for typedefs
    92, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      40,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x4753535f), 
      ACE_NTOHL (0x4e545f45), 
      ACE_NTOHL (0x78706f72), 
      ACE_NTOHL (0x7465644e), 
      ACE_NTOHL (0x616d653a), 
      ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedName:1.0
            20,
      ACE_NTOHL (0x4753535f), 
      ACE_NTOHL (0x4e545f45), 
      ACE_NTOHL (0x78706f72), 
      ACE_NTOHL (0x7465644e), 
      ACE_NTOHL (0x616d6500),  // name = GSS_NT_ExportedName
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,


    0x00000004, // union case label (evaluated value)
    18,
    ACE_NTOHL (0x63657274), 
    ACE_NTOHL (0x69666963), 
    ACE_NTOHL (0x6174655f), 
    ACE_NTOHL (0x63686169), 
    ACE_NTOHL (0x6e000000),  // name = certificate_chain
        CORBA::tk_alias, // typecode kind for typedefs
    100, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      41,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x58353039), 
      ACE_NTOHL (0x43657274), 
      ACE_NTOHL (0x69666963), 
      ACE_NTOHL (0x61746543), 
      ACE_NTOHL (0x6861696e), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/X509CertificateChain:1.0
            21,
      ACE_NTOHL (0x58353039), 
      ACE_NTOHL (0x43657274), 
      ACE_NTOHL (0x69666963), 
      ACE_NTOHL (0x61746543), 
      ACE_NTOHL (0x6861696e), 
      ACE_NTOHL (0x0),  // name = X509CertificateChain
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,


    0x00000008, // union case label (evaluated value)
    3,
    ACE_NTOHL (0x646e0000),  // name = dn
        CORBA::tk_alias, // typecode kind for typedefs
    100, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      42,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x58353031), 
      ACE_NTOHL (0x44697374), 
      ACE_NTOHL (0x696e6775), 
      ACE_NTOHL (0x69736865), 
      ACE_NTOHL (0x644e616d), 
      ACE_NTOHL (0x653a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/X501DistinguishedName:1.0
            22,
      ACE_NTOHL (0x58353031), 
      ACE_NTOHL (0x44697374), 
      ACE_NTOHL (0x696e6775), 
      ACE_NTOHL (0x69736865), 
      ACE_NTOHL (0x644e616d), 
      ACE_NTOHL (0x65000000),  // name = X501DistinguishedName
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,


    0x00000003, // union default label (evaluated value)
    3,
    ACE_NTOHL (0x69640000),  // name = id
        CORBA::tk_alias, // typecode kind for typedefs
    92, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      38,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x4964656e), 
      ACE_NTOHL (0x74697479), 
      ACE_NTOHL (0x45787465), 
      ACE_NTOHL (0x6e73696f), 
      ACE_NTOHL (0x6e3a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityExtension:1.0
            18,
      ACE_NTOHL (0x4964656e), 
      ACE_NTOHL (0x74697479), 
      ACE_NTOHL (0x45787465), 
      ACE_NTOHL (0x6e73696f), 
      ACE_NTOHL (0x6e000000),  // name = IdentityExtension
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,



  28,
  ACE_NTOHL (0x636c6965), 
  ACE_NTOHL (0x6e745f61), 
  ACE_NTOHL (0x75746865), 
  ACE_NTOHL (0x6e746963), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e5f746f), 
  ACE_NTOHL (0x6b656e00),  // name = client_authentication_token
    CORBA::tk_alias, // typecode kind for typedefs
  76, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    29,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
        9,
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x0),  // name = GSSToken
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_EstablishContext (
    CORBA::tk_struct,
    sizeof (_oc_CSI_EstablishContext),
    (char *) &_oc_CSI_EstablishContext,
    0,
    sizeof (CSI::EstablishContext)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_EstablishContext =
    &_tc_TAO_tc_CSI_EstablishContext;
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/structure_cs.cpp:66

void 
CSI::EstablishContext::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  EstablishContext *_tao_tmp_pointer =
    static_cast<EstablishContext *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_CompleteEstablishContext[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  45,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x436f6d70), 
  ACE_NTOHL (0x6c657465), 
  ACE_NTOHL (0x45737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/CompleteEstablishContext:1.0
    25,
  ACE_NTOHL (0x436f6d70), 
  ACE_NTOHL (0x6c657465), 
  ACE_NTOHL (0x45737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x0),  // name = CompleteEstablishContext
  3, // member count
    18,
  ACE_NTOHL (0x636c6965), 
  ACE_NTOHL (0x6e745f63), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x78745f69), 
  ACE_NTOHL (0x64000000),  // name = client_context_id
    CORBA::tk_alias, // typecode kind for typedefs
  60, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    30,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x643a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
        10,
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x64000000),  // name = ContextId
        CORBA::tk_ulonglong,


  17,
  ACE_NTOHL (0x636f6e74), 
  ACE_NTOHL (0x6578745f), 
  ACE_NTOHL (0x73746174), 
  ACE_NTOHL (0x6566756c), 
  ACE_NTOHL (0x0),  // name = context_stateful
    CORBA::tk_boolean,

  20,
  ACE_NTOHL (0x66696e61), 
  ACE_NTOHL (0x6c5f636f), 
  ACE_NTOHL (0x6e746578), 
  ACE_NTOHL (0x745f746f), 
  ACE_NTOHL (0x6b656e00),  // name = final_context_token
    CORBA::tk_alias, // typecode kind for typedefs
  76, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    29,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
        9,
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x0),  // name = GSSToken
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_CompleteEstablishContext (
    CORBA::tk_struct,
    sizeof (_oc_CSI_CompleteEstablishContext),
    (char *) &_oc_CSI_CompleteEstablishContext,
    0,
    sizeof (CSI::CompleteEstablishContext)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_CompleteEstablishContext =
    &_tc_TAO_tc_CSI_CompleteEstablishContext;
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/structure_cs.cpp:66

void 
CSI::CompleteEstablishContext::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  CompleteEstablishContext *_tao_tmp_pointer =
    static_cast<CompleteEstablishContext *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_ContextError[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  33,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x65787445), 
  ACE_NTOHL (0x72726f72), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/ContextError:1.0
    13,
  ACE_NTOHL (0x436f6e74), 
  ACE_NTOHL (0x65787445), 
  ACE_NTOHL (0x72726f72), 
  ACE_NTOHL (0x0),  // name = ContextError
  4, // member count
    18,
  ACE_NTOHL (0x636c6965), 
  ACE_NTOHL (0x6e745f63), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x78745f69), 
  ACE_NTOHL (0x64000000),  // name = client_context_id
    CORBA::tk_alias, // typecode kind for typedefs
  60, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    30,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x643a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
        10,
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x64000000),  // name = ContextId
        CORBA::tk_ulonglong,


  13,
  ACE_NTOHL (0x6d616a6f), 
  ACE_NTOHL (0x725f7374), 
  ACE_NTOHL (0x61747573), 
  ACE_NTOHL (0x0),  // name = major_status
    CORBA::tk_long,

  13,
  ACE_NTOHL (0x6d696e6f), 
  ACE_NTOHL (0x725f7374), 
  ACE_NTOHL (0x61747573), 
  ACE_NTOHL (0x0),  // name = minor_status
    CORBA::tk_long,

  12,
  ACE_NTOHL (0x6572726f), 
  ACE_NTOHL (0x725f746f), 
  ACE_NTOHL (0x6b656e00),  // name = error_token
    CORBA::tk_alias, // typecode kind for typedefs
  76, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    29,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
        9,
    ACE_NTOHL (0x47535354), 
    ACE_NTOHL (0x6f6b656e), 
    ACE_NTOHL (0x0),  // name = GSSToken
        CORBA::tk_sequence, // typecode kind
    12, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_octet,

      0U,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_ContextError (
    CORBA::tk_struct,
    sizeof (_oc_CSI_ContextError),
    (char *) &_oc_CSI_ContextError,
    0,
    sizeof (CSI::ContextError)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_ContextError =
    &_tc_TAO_tc_CSI_ContextError;
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/structure_cs.cpp:66

void 
CSI::ContextError::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ContextError *_tao_tmp_pointer =
    static_cast<ContextError *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_MessageInContext[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  37,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x4d657373), 
  ACE_NTOHL (0x61676549), 
  ACE_NTOHL (0x6e436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/MessageInContext:1.0
    17,
  ACE_NTOHL (0x4d657373), 
  ACE_NTOHL (0x61676549), 
  ACE_NTOHL (0x6e436f6e), 
  ACE_NTOHL (0x74657874), 
  ACE_NTOHL (0x0),  // name = MessageInContext
  2, // member count
    18,
  ACE_NTOHL (0x636c6965), 
  ACE_NTOHL (0x6e745f63), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x78745f69), 
  ACE_NTOHL (0x64000000),  // name = client_context_id
    CORBA::tk_alias, // typecode kind for typedefs
  60, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    30,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x643a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
        10,
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787449), 
    ACE_NTOHL (0x64000000),  // name = ContextId
        CORBA::tk_ulonglong,


  16,
  ACE_NTOHL (0x64697363), 
  ACE_NTOHL (0x6172645f), 
  ACE_NTOHL (0x636f6e74), 
  ACE_NTOHL (0x65787400),  // name = discard_context
    CORBA::tk_boolean,

};

static CORBA::TypeCode _tc_TAO_tc_CSI_MessageInContext (
    CORBA::tk_struct,
    sizeof (_oc_CSI_MessageInContext),
    (char *) &_oc_CSI_MessageInContext,
    0,
    sizeof (CSI::MessageInContext)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_MessageInContext =
    &_tc_TAO_tc_CSI_MessageInContext;
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/structure_cs.cpp:66

void 
CSI::MessageInContext::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  MessageInContext *_tao_tmp_pointer =
    static_cast<MessageInContext *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

// TAO_IDL - Generated from
// be/be_visitor_union/union_cs.cpp:91

CSI::SASContextBody::SASContextBody (void)
{
  ACE_OS::memset (&this->disc_, 0, sizeof (this->disc_));
  ACE_OS::memset (&this->u_, 0, sizeof (this->u_));
  this->disc_ = 0;
}

CSI::SASContextBody::SASContextBody (const ::CSI::SASContextBody &u)
{
  this->disc_ = u.disc_;
  switch (this->disc_)
  {
    case 0:
    {
      if (u.u_.establish_msg_ == 0)
        {
          this->u_.establish_msg_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.establish_msg_,
              CSI::EstablishContext (*u.u_.establish_msg_)
            );
        }
    }
    break;
    case 1:
    {
      if (u.u_.complete_msg_ == 0)
        {
          this->u_.complete_msg_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.complete_msg_,
              CSI::CompleteEstablishContext (*u.u_.complete_msg_)
            );
        }
    }
    break;
    case 4:
    {
      if (u.u_.error_msg_ == 0)
        {
          this->u_.error_msg_ = 0;
        }
      else
        {
          ACE_NEW (
              this->u_.error_msg_,
              CSI::ContextError (*u.u_.error_msg_)
            );
        }
    }
    break;
    case 5:
    {
      this->u_.in_context_msg_ = u.u_.in_context_msg_;
    }
    break;
    default:
    break;
  }
}

CSI::SASContextBody::~SASContextBody (void)
{
  // Finalize.
  this->_reset (this->disc_, 1);
}

void CSI::SASContextBody::_tao_any_destructor (void *_tao_void_pointer)
{
  SASContextBody *tmp =
    static_cast<SASContextBody *> (_tao_void_pointer);
  delete tmp;
}

CSI::SASContextBody &
CSI::SASContextBody::operator= (const ::CSI::SASContextBody &u)
{
  if (&u == this)
    {
      return *this;
    }
  
  this->_reset (u.disc_, 0);
  this->disc_ = u.disc_;
  
  switch (this->disc_)
  {
    case 0:
    {
      if (u.u_.establish_msg_ == 0)
        {
          this->u_.establish_msg_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.establish_msg_,
              CSI::EstablishContext (*u.u_.establish_msg_),
              *this
            );
        }
    }
    break;
    case 1:
    {
      if (u.u_.complete_msg_ == 0)
        {
          this->u_.complete_msg_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.complete_msg_,
              CSI::CompleteEstablishContext (*u.u_.complete_msg_),
              *this
            );
        }
    }
    break;
    case 4:
    {
      if (u.u_.error_msg_ == 0)
        {
          this->u_.error_msg_ = 0;
        }
      else
        {
          ACE_NEW_RETURN (
              this->u_.error_msg_,
              CSI::ContextError (*u.u_.error_msg_),
              *this
            );
        }
    }
    break;
    case 5:
    {
      this->u_.in_context_msg_ = u.u_.in_context_msg_;
    }
    break;
    default:
    break;
  }
  
  return *this;
}

// Reset method to reset old values of a union.
void CSI::SASContextBody::_reset (CORBA::Short, CORBA::Boolean /*finalize*/)
{
  switch (this->disc_)
  {
    
    case 0:
      delete this->u_.establish_msg_;
      this->u_.establish_msg_ = 0;
      break;
    case 1:
      delete this->u_.complete_msg_;
      this->u_.complete_msg_ = 0;
      break;
    case 4:
      delete this->u_.error_msg_;
      this->u_.error_msg_ = 0;
      break;
    case 5:
      break;
    default:
    break;
  }
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_SASContextBody[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  35,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x53415343), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x7874426f), 
  ACE_NTOHL (0x64793a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CSI/SASContextBody:1.0
  15,
  ACE_NTOHL (0x53415343), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x7874426f), 
  ACE_NTOHL (0x64790000),  // name = SASContextBody
    CORBA::tk_short,

-1, // default used index
  4, // member count
    ACE_IDL_NSTOHL (0x0000), // union case label (evaluated value)
  14,
  ACE_NTOHL (0x65737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x685f6d73), 
  ACE_NTOHL (0x67000000),  // name = establish_msg
    CORBA::tk_struct, // typecode kind
  1392, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    37,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x45737461), 
    ACE_NTOHL (0x626c6973), 
    ACE_NTOHL (0x68436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/EstablishContext:1.0
        17,
    ACE_NTOHL (0x45737461), 
    ACE_NTOHL (0x626c6973), 
    ACE_NTOHL (0x68436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x0),  // name = EstablishContext
    4, // member count
        18,
    ACE_NTOHL (0x636c6965), 
    ACE_NTOHL (0x6e745f63), 
    ACE_NTOHL (0x6f6e7465), 
    ACE_NTOHL (0x78745f69), 
    ACE_NTOHL (0x64000000),  // name = client_context_id
        CORBA::tk_alias, // typecode kind for typedefs
    60, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      30,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x643a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
            10,
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x64000000),  // name = ContextId
            CORBA::tk_ulonglong,


    20,
    ACE_NTOHL (0x61757468), 
    ACE_NTOHL (0x6f72697a), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e5f746f), 
    ACE_NTOHL (0x6b656e00),  // name = authorization_token
        CORBA::tk_alias, // typecode kind for typedefs
    436, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      39,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x41757468), 
      ACE_NTOHL (0x6f72697a), 
      ACE_NTOHL (0x6174696f), 
      ACE_NTOHL (0x6e546f6b), 
      ACE_NTOHL (0x656e3a31), 
      ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CSI/AuthorizationToken:1.0
            19,
      ACE_NTOHL (0x41757468), 
      ACE_NTOHL (0x6f72697a), 
      ACE_NTOHL (0x6174696f), 
      ACE_NTOHL (0x6e546f6b), 
      ACE_NTOHL (0x656e0000),  // name = AuthorizationToken
            CORBA::tk_sequence, // typecode kind
      356, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_struct, // typecode kind
        340, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          41,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x4353492f), 
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x3a312e30), 
          ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElement:1.0
                    21,
          ACE_NTOHL (0x41757468), 
          ACE_NTOHL (0x6f72697a), 
          ACE_NTOHL (0x6174696f), 
          ACE_NTOHL (0x6e456c65), 
          ACE_NTOHL (0x6d656e74), 
          ACE_NTOHL (0x0),  // name = AuthorizationElement
          2, // member count
                    9,
          ACE_NTOHL (0x7468655f), 
          ACE_NTOHL (0x74797065), 
          ACE_NTOHL (0x0),  // name = the_type
                    CORBA::tk_alias, // typecode kind for typedefs
          92, // encapsulation length
            TAO_ENCAP_BYTE_ORDER, // byte order
            45,
            ACE_NTOHL (0x49444c3a), 
            ACE_NTOHL (0x6f6d672e), 
            ACE_NTOHL (0x6f72672f), 
            ACE_NTOHL (0x4353492f), 
            ACE_NTOHL (0x41757468), 
            ACE_NTOHL (0x6f72697a), 
            ACE_NTOHL (0x6174696f), 
            ACE_NTOHL (0x6e456c65), 
            ACE_NTOHL (0x6d656e74), 
            ACE_NTOHL (0x54797065), 
            ACE_NTOHL (0x3a312e30), 
            ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementType:1.0
                        25,
            ACE_NTOHL (0x41757468), 
            ACE_NTOHL (0x6f72697a), 
            ACE_NTOHL (0x6174696f), 
            ACE_NTOHL (0x6e456c65), 
            ACE_NTOHL (0x6d656e74), 
            ACE_NTOHL (0x54797065), 
            ACE_NTOHL (0x0),  // name = AuthorizationElementType
                        CORBA::tk_ulong,


          12,
          ACE_NTOHL (0x7468655f), 
          ACE_NTOHL (0x656c656d), 
          ACE_NTOHL (0x656e7400),  // name = the_element
                    CORBA::tk_alias, // typecode kind for typedefs
          116, // encapsulation length
            TAO_ENCAP_BYTE_ORDER, // byte order
            49,
            ACE_NTOHL (0x49444c3a), 
            ACE_NTOHL (0x6f6d672e), 
            ACE_NTOHL (0x6f72672f), 
            ACE_NTOHL (0x4353492f), 
            ACE_NTOHL (0x41757468), 
            ACE_NTOHL (0x6f72697a), 
            ACE_NTOHL (0x6174696f), 
            ACE_NTOHL (0x6e456c65), 
            ACE_NTOHL (0x6d656e74), 
            ACE_NTOHL (0x436f6e74), 
            ACE_NTOHL (0x656e7473), 
            ACE_NTOHL (0x3a312e30), 
            ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/AuthorizationElementContents:1.0
                        29,
            ACE_NTOHL (0x41757468), 
            ACE_NTOHL (0x6f72697a), 
            ACE_NTOHL (0x6174696f), 
            ACE_NTOHL (0x6e456c65), 
            ACE_NTOHL (0x6d656e74), 
            ACE_NTOHL (0x436f6e74), 
            ACE_NTOHL (0x656e7473), 
            ACE_NTOHL (0x0),  // name = AuthorizationElementContents
                        CORBA::tk_sequence, // typecode kind
            12, // encapsulation length
              TAO_ENCAP_BYTE_ORDER, // byte order
              CORBA::tk_octet,

              0U,



        0U,


    15,
    ACE_NTOHL (0x6964656e), 
    ACE_NTOHL (0x74697479), 
    ACE_NTOHL (0x5f746f6b), 
    ACE_NTOHL (0x656e0000),  // name = identity_token
        CORBA::tk_union, // typecode kind
    612, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      34,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x4964656e), 
      ACE_NTOHL (0x74697479), 
      ACE_NTOHL (0x546f6b65), 
      ACE_NTOHL (0x6e3a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityToken:1.0
      14,
      ACE_NTOHL (0x4964656e), 
      ACE_NTOHL (0x74697479), 
      ACE_NTOHL (0x546f6b65), 
      ACE_NTOHL (0x6e000000),  // name = IdentityToken
            CORBA::tk_ulong,

5, // default used index
      6, // member count
            0x00000000, // union case label (evaluated value)
      7,
      ACE_NTOHL (0x61627365), 
      ACE_NTOHL (0x6e740000),  // name = absent
            CORBA::tk_boolean,

      0x00000001, // union case label (evaluated value)
      10,
      ACE_NTOHL (0x616e6f6e), 
      ACE_NTOHL (0x796d6f75), 
      ACE_NTOHL (0x73000000),  // name = anonymous
            CORBA::tk_boolean,

      0x00000002, // union case label (evaluated value)
      15,
      ACE_NTOHL (0x7072696e), 
      ACE_NTOHL (0x63697061), 
      ACE_NTOHL (0x6c5f6e61), 
      ACE_NTOHL (0x6d650000),  // name = principal_name
            CORBA::tk_alias, // typecode kind for typedefs
      92, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        40,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x4753535f), 
        ACE_NTOHL (0x4e545f45), 
        ACE_NTOHL (0x78706f72), 
        ACE_NTOHL (0x7465644e), 
        ACE_NTOHL (0x616d653a), 
        ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CSI/GSS_NT_ExportedName:1.0
                20,
        ACE_NTOHL (0x4753535f), 
        ACE_NTOHL (0x4e545f45), 
        ACE_NTOHL (0x78706f72), 
        ACE_NTOHL (0x7465644e), 
        ACE_NTOHL (0x616d6500),  // name = GSS_NT_ExportedName
                CORBA::tk_sequence, // typecode kind
        12, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          CORBA::tk_octet,

          0U,


      0x00000004, // union case label (evaluated value)
      18,
      ACE_NTOHL (0x63657274), 
      ACE_NTOHL (0x69666963), 
      ACE_NTOHL (0x6174655f), 
      ACE_NTOHL (0x63686169), 
      ACE_NTOHL (0x6e000000),  // name = certificate_chain
            CORBA::tk_alias, // typecode kind for typedefs
      100, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        41,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x58353039), 
        ACE_NTOHL (0x43657274), 
        ACE_NTOHL (0x69666963), 
        ACE_NTOHL (0x61746543), 
        ACE_NTOHL (0x6861696e), 
        ACE_NTOHL (0x3a312e30), 
        ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/X509CertificateChain:1.0
                21,
        ACE_NTOHL (0x58353039), 
        ACE_NTOHL (0x43657274), 
        ACE_NTOHL (0x69666963), 
        ACE_NTOHL (0x61746543), 
        ACE_NTOHL (0x6861696e), 
        ACE_NTOHL (0x0),  // name = X509CertificateChain
                CORBA::tk_sequence, // typecode kind
        12, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          CORBA::tk_octet,

          0U,


      0x00000008, // union case label (evaluated value)
      3,
      ACE_NTOHL (0x646e0000),  // name = dn
            CORBA::tk_alias, // typecode kind for typedefs
      100, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        42,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x58353031), 
        ACE_NTOHL (0x44697374), 
        ACE_NTOHL (0x696e6775), 
        ACE_NTOHL (0x69736865), 
        ACE_NTOHL (0x644e616d), 
        ACE_NTOHL (0x653a312e), 
        ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/X501DistinguishedName:1.0
                22,
        ACE_NTOHL (0x58353031), 
        ACE_NTOHL (0x44697374), 
        ACE_NTOHL (0x696e6775), 
        ACE_NTOHL (0x69736865), 
        ACE_NTOHL (0x644e616d), 
        ACE_NTOHL (0x65000000),  // name = X501DistinguishedName
                CORBA::tk_sequence, // typecode kind
        12, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          CORBA::tk_octet,

          0U,


      0x00000003, // union default label (evaluated value)
      3,
      ACE_NTOHL (0x69640000),  // name = id
            CORBA::tk_alias, // typecode kind for typedefs
      92, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        38,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x4353492f), 
        ACE_NTOHL (0x4964656e), 
        ACE_NTOHL (0x74697479), 
        ACE_NTOHL (0x45787465), 
        ACE_NTOHL (0x6e73696f), 
        ACE_NTOHL (0x6e3a312e), 
        ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/IdentityExtension:1.0
                18,
        ACE_NTOHL (0x4964656e), 
        ACE_NTOHL (0x74697479), 
        ACE_NTOHL (0x45787465), 
        ACE_NTOHL (0x6e73696f), 
        ACE_NTOHL (0x6e000000),  // name = IdentityExtension
                CORBA::tk_sequence, // typecode kind
        12, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          CORBA::tk_octet,

          0U,



    28,
    ACE_NTOHL (0x636c6965), 
    ACE_NTOHL (0x6e745f61), 
    ACE_NTOHL (0x75746865), 
    ACE_NTOHL (0x6e746963), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e5f746f), 
    ACE_NTOHL (0x6b656e00),  // name = client_authentication_token
        CORBA::tk_alias, // typecode kind for typedefs
    76, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      29,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
            9,
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x0),  // name = GSSToken
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,



  ACE_IDL_NSTOHL (0x0001), // union case label (evaluated value)
  13,
  ACE_NTOHL (0x636f6d70), 
  ACE_NTOHL (0x6c657465), 
  ACE_NTOHL (0x5f6d7367), 
  ACE_NTOHL (0x0),  // name = complete_msg
    CORBA::tk_struct, // typecode kind
  320, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    45,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6d70), 
    ACE_NTOHL (0x6c657465), 
    ACE_NTOHL (0x45737461), 
    ACE_NTOHL (0x626c6973), 
    ACE_NTOHL (0x68436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/CompleteEstablishContext:1.0
        25,
    ACE_NTOHL (0x436f6d70), 
    ACE_NTOHL (0x6c657465), 
    ACE_NTOHL (0x45737461), 
    ACE_NTOHL (0x626c6973), 
    ACE_NTOHL (0x68436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x0),  // name = CompleteEstablishContext
    3, // member count
        18,
    ACE_NTOHL (0x636c6965), 
    ACE_NTOHL (0x6e745f63), 
    ACE_NTOHL (0x6f6e7465), 
    ACE_NTOHL (0x78745f69), 
    ACE_NTOHL (0x64000000),  // name = client_context_id
        CORBA::tk_alias, // typecode kind for typedefs
    60, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      30,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x643a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
            10,
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x64000000),  // name = ContextId
            CORBA::tk_ulonglong,


    17,
    ACE_NTOHL (0x636f6e74), 
    ACE_NTOHL (0x6578745f), 
    ACE_NTOHL (0x73746174), 
    ACE_NTOHL (0x6566756c), 
    ACE_NTOHL (0x0),  // name = context_stateful
        CORBA::tk_boolean,

    20,
    ACE_NTOHL (0x66696e61), 
    ACE_NTOHL (0x6c5f636f), 
    ACE_NTOHL (0x6e746578), 
    ACE_NTOHL (0x745f746f), 
    ACE_NTOHL (0x6b656e00),  // name = final_context_token
        CORBA::tk_alias, // typecode kind for typedefs
    76, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      29,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
            9,
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x0),  // name = GSSToken
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,



  ACE_IDL_NSTOHL (0x0004), // union case label (evaluated value)
  10,
  ACE_NTOHL (0x6572726f), 
  ACE_NTOHL (0x725f6d73), 
  ACE_NTOHL (0x67000000),  // name = error_msg
    CORBA::tk_struct, // typecode kind
  308, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    33,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787445), 
    ACE_NTOHL (0x72726f72), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/ContextError:1.0
        13,
    ACE_NTOHL (0x436f6e74), 
    ACE_NTOHL (0x65787445), 
    ACE_NTOHL (0x72726f72), 
    ACE_NTOHL (0x0),  // name = ContextError
    4, // member count
        18,
    ACE_NTOHL (0x636c6965), 
    ACE_NTOHL (0x6e745f63), 
    ACE_NTOHL (0x6f6e7465), 
    ACE_NTOHL (0x78745f69), 
    ACE_NTOHL (0x64000000),  // name = client_context_id
        CORBA::tk_alias, // typecode kind for typedefs
    60, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      30,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x643a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
            10,
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x64000000),  // name = ContextId
            CORBA::tk_ulonglong,


    13,
    ACE_NTOHL (0x6d616a6f), 
    ACE_NTOHL (0x725f7374), 
    ACE_NTOHL (0x61747573), 
    ACE_NTOHL (0x0),  // name = major_status
        CORBA::tk_long,

    13,
    ACE_NTOHL (0x6d696e6f), 
    ACE_NTOHL (0x725f7374), 
    ACE_NTOHL (0x61747573), 
    ACE_NTOHL (0x0),  // name = minor_status
        CORBA::tk_long,

    12,
    ACE_NTOHL (0x6572726f), 
    ACE_NTOHL (0x725f746f), 
    ACE_NTOHL (0x6b656e00),  // name = error_token
        CORBA::tk_alias, // typecode kind for typedefs
    76, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      29,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/GSSToken:1.0
            9,
      ACE_NTOHL (0x47535354), 
      ACE_NTOHL (0x6f6b656e), 
      ACE_NTOHL (0x0),  // name = GSSToken
            CORBA::tk_sequence, // typecode kind
      12, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_octet,

        0U,



  ACE_IDL_NSTOHL (0x0005), // union case label (evaluated value)
  15,
  ACE_NTOHL (0x696e5f63), 
  ACE_NTOHL (0x6f6e7465), 
  ACE_NTOHL (0x78745f6d), 
  ACE_NTOHL (0x73670000),  // name = in_context_msg
    CORBA::tk_struct, // typecode kind
  192, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    37,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x4353492f), 
    ACE_NTOHL (0x4d657373), 
    ACE_NTOHL (0x61676549), 
    ACE_NTOHL (0x6e436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x3a312e30), 
    ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CSI/MessageInContext:1.0
        17,
    ACE_NTOHL (0x4d657373), 
    ACE_NTOHL (0x61676549), 
    ACE_NTOHL (0x6e436f6e), 
    ACE_NTOHL (0x74657874), 
    ACE_NTOHL (0x0),  // name = MessageInContext
    2, // member count
        18,
    ACE_NTOHL (0x636c6965), 
    ACE_NTOHL (0x6e745f63), 
    ACE_NTOHL (0x6f6e7465), 
    ACE_NTOHL (0x78745f69), 
    ACE_NTOHL (0x64000000),  // name = client_context_id
        CORBA::tk_alias, // typecode kind for typedefs
    60, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      30,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x4353492f), 
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x643a312e), 
      ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/ContextId:1.0
            10,
      ACE_NTOHL (0x436f6e74), 
      ACE_NTOHL (0x65787449), 
      ACE_NTOHL (0x64000000),  // name = ContextId
            CORBA::tk_ulonglong,


    16,
    ACE_NTOHL (0x64697363), 
    ACE_NTOHL (0x6172645f), 
    ACE_NTOHL (0x636f6e74), 
    ACE_NTOHL (0x65787400),  // name = discard_context
        CORBA::tk_boolean,


};

static CORBA::TypeCode _tc_TAO_tc_CSI_SASContextBody (
    CORBA::tk_union,
    sizeof (_oc_CSI_SASContextBody),
    (char *) &_oc_CSI_SASContextBody,
    0,
    sizeof (CSI::SASContextBody)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_SASContextBody =
    &_tc_TAO_tc_CSI_SASContextBody;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_CSI_StringOID[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  30,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x4353492f), 
  ACE_NTOHL (0x53747269), 
  ACE_NTOHL (0x6e674f49), 
  ACE_NTOHL (0x443a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CSI/StringOID:1.0
    10,
  ACE_NTOHL (0x53747269), 
  ACE_NTOHL (0x6e674f49), 
  ACE_NTOHL (0x44000000),  // name = StringOID
    CORBA::tk_string, 
  0U, // string length
};

static CORBA::TypeCode _tc_TAO_tc_CSI_StringOID (
    CORBA::tk_alias,
    sizeof (_oc_CSI_StringOID),
    (char *) &_oc_CSI_StringOID,
    0,
    sizeof (CSI::StringOID)
  );

namespace CSI
{
  ::CORBA::TypeCode_ptr _tc_StringOID =
    &_tc_TAO_tc_CSI_StringOID;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::X509CertificateChain &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::X509CertificateChain>::insert_copy (
      _tao_any,
      CSI::X509CertificateChain::_tao_any_destructor,
      CSI::_tc_X509CertificateChain,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::X509CertificateChain *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::X509CertificateChain>::insert (
      _tao_any,
      CSI::X509CertificateChain::_tao_any_destructor,
      CSI::_tc_X509CertificateChain,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::X509CertificateChain *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::X509CertificateChain *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::X509CertificateChain *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::X509CertificateChain>::extract (
        _tao_any,
        CSI::X509CertificateChain::_tao_any_destructor,
        CSI::_tc_X509CertificateChain,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::X501DistinguishedName &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::X501DistinguishedName>::insert_copy (
      _tao_any,
      CSI::X501DistinguishedName::_tao_any_destructor,
      CSI::_tc_X501DistinguishedName,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::X501DistinguishedName *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::X501DistinguishedName>::insert (
      _tao_any,
      CSI::X501DistinguishedName::_tao_any_destructor,
      CSI::_tc_X501DistinguishedName,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::X501DistinguishedName *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::X501DistinguishedName *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::X501DistinguishedName *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::X501DistinguishedName>::extract (
        _tao_any,
        CSI::X501DistinguishedName::_tao_any_destructor,
        CSI::_tc_X501DistinguishedName,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::UTF8String &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::UTF8String>::insert_copy (
      _tao_any,
      CSI::UTF8String::_tao_any_destructor,
      CSI::_tc_UTF8String,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::UTF8String *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::UTF8String>::insert (
      _tao_any,
      CSI::UTF8String::_tao_any_destructor,
      CSI::_tc_UTF8String,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::UTF8String *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::UTF8String *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::UTF8String *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::UTF8String>::extract (
        _tao_any,
        CSI::UTF8String::_tao_any_destructor,
        CSI::_tc_UTF8String,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::OID &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::OID>::insert_copy (
      _tao_any,
      CSI::OID::_tao_any_destructor,
      CSI::_tc_OID,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::OID *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::OID>::insert (
      _tao_any,
      CSI::OID::_tao_any_destructor,
      CSI::_tc_OID,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::OID *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::OID *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::OID *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::OID>::extract (
        _tao_any,
        CSI::OID::_tao_any_destructor,
        CSI::_tc_OID,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::OIDList &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::OIDList>::insert_copy (
      _tao_any,
      CSI::OIDList::_tao_any_destructor,
      CSI::_tc_OIDList,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::OIDList *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::OIDList>::insert (
      _tao_any,
      CSI::OIDList::_tao_any_destructor,
      CSI::_tc_OIDList,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::OIDList *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::OIDList *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::OIDList *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::OIDList>::extract (
        _tao_any,
        CSI::OIDList::_tao_any_destructor,
        CSI::_tc_OIDList,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::GSSToken &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSSToken>::insert_copy (
      _tao_any,
      CSI::GSSToken::_tao_any_destructor,
      CSI::_tc_GSSToken,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::GSSToken *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSSToken>::insert (
      _tao_any,
      CSI::GSSToken::_tao_any_destructor,
      CSI::_tc_GSSToken,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::GSSToken *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::GSSToken *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::GSSToken *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::GSSToken>::extract (
        _tao_any,
        CSI::GSSToken::_tao_any_destructor,
        CSI::_tc_GSSToken,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::GSS_NT_ExportedName &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedName>::insert_copy (
      _tao_any,
      CSI::GSS_NT_ExportedName::_tao_any_destructor,
      CSI::_tc_GSS_NT_ExportedName,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::GSS_NT_ExportedName *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedName>::insert (
      _tao_any,
      CSI::GSS_NT_ExportedName::_tao_any_destructor,
      CSI::_tc_GSS_NT_ExportedName,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::GSS_NT_ExportedName *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::GSS_NT_ExportedName *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::GSS_NT_ExportedName *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedName>::extract (
        _tao_any,
        CSI::GSS_NT_ExportedName::_tao_any_destructor,
        CSI::_tc_GSS_NT_ExportedName,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::GSS_NT_ExportedNameList &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedNameList>::insert_copy (
      _tao_any,
      CSI::GSS_NT_ExportedNameList::_tao_any_destructor,
      CSI::_tc_GSS_NT_ExportedNameList,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::GSS_NT_ExportedNameList *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedNameList>::insert (
      _tao_any,
      CSI::GSS_NT_ExportedNameList::_tao_any_destructor,
      CSI::_tc_GSS_NT_ExportedNameList,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::GSS_NT_ExportedNameList *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::GSS_NT_ExportedNameList *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::GSS_NT_ExportedNameList *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::GSS_NT_ExportedNameList>::extract (
        _tao_any,
        CSI::GSS_NT_ExportedNameList::_tao_any_destructor,
        CSI::_tc_GSS_NT_ExportedNameList,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::AuthorizationElementContents &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationElementContents>::insert_copy (
      _tao_any,
      CSI::AuthorizationElementContents::_tao_any_destructor,
      CSI::_tc_AuthorizationElementContents,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::AuthorizationElementContents *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationElementContents>::insert (
      _tao_any,
      CSI::AuthorizationElementContents::_tao_any_destructor,
      CSI::_tc_AuthorizationElementContents,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::AuthorizationElementContents *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::AuthorizationElementContents *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::AuthorizationElementContents *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::AuthorizationElementContents>::extract (
        _tao_any,
        CSI::AuthorizationElementContents::_tao_any_destructor,
        CSI::_tc_AuthorizationElementContents,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::AuthorizationElement &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationElement>::insert_copy (
      _tao_any,
      CSI::AuthorizationElement::_tao_any_destructor,
      CSI::_tc_AuthorizationElement,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::AuthorizationElement *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationElement>::insert (
      _tao_any,
      CSI::AuthorizationElement::_tao_any_destructor,
      CSI::_tc_AuthorizationElement,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::AuthorizationElement *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::AuthorizationElement *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::AuthorizationElement *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::AuthorizationElement>::extract (
        _tao_any,
        CSI::AuthorizationElement::_tao_any_destructor,
        CSI::_tc_AuthorizationElement,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::AuthorizationToken &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationToken>::insert_copy (
      _tao_any,
      CSI::AuthorizationToken::_tao_any_destructor,
      CSI::_tc_AuthorizationToken,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::AuthorizationToken *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::AuthorizationToken>::insert (
      _tao_any,
      CSI::AuthorizationToken::_tao_any_destructor,
      CSI::_tc_AuthorizationToken,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::AuthorizationToken *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::AuthorizationToken *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::AuthorizationToken *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::AuthorizationToken>::extract (
        _tao_any,
        CSI::AuthorizationToken::_tao_any_destructor,
        CSI::_tc_AuthorizationToken,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::IdentityExtension &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::IdentityExtension>::insert_copy (
      _tao_any,
      CSI::IdentityExtension::_tao_any_destructor,
      CSI::_tc_IdentityExtension,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::IdentityExtension *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::IdentityExtension>::insert (
      _tao_any,
      CSI::IdentityExtension::_tao_any_destructor,
      CSI::_tc_IdentityExtension,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::IdentityExtension *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::IdentityExtension *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::IdentityExtension *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::IdentityExtension>::extract (
        _tao_any,
        CSI::IdentityExtension::_tao_any_destructor,
        CSI::_tc_IdentityExtension,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_union/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::IdentityToken &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::IdentityToken>::insert_copy (
      _tao_any,
      CSI::IdentityToken::_tao_any_destructor,
      CSI::_tc_IdentityToken,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::IdentityToken *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::IdentityToken>::insert (
      _tao_any,
      CSI::IdentityToken::_tao_any_destructor,
      CSI::_tc_IdentityToken,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::IdentityToken *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::IdentityToken *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::IdentityToken *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::IdentityToken>::extract (
        _tao_any,
        CSI::IdentityToken::_tao_any_destructor,
        CSI::_tc_IdentityToken,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::EstablishContext &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::EstablishContext>::insert_copy (
      _tao_any,
      CSI::EstablishContext::_tao_any_destructor,
      CSI::_tc_EstablishContext,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::EstablishContext *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::EstablishContext>::insert (
      _tao_any,
      CSI::EstablishContext::_tao_any_destructor,
      CSI::_tc_EstablishContext,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::EstablishContext *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::EstablishContext *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::EstablishContext *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::EstablishContext>::extract (
        _tao_any,
        CSI::EstablishContext::_tao_any_destructor,
        CSI::_tc_EstablishContext,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::CompleteEstablishContext &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::CompleteEstablishContext>::insert_copy (
      _tao_any,
      CSI::CompleteEstablishContext::_tao_any_destructor,
      CSI::_tc_CompleteEstablishContext,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::CompleteEstablishContext *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::CompleteEstablishContext>::insert (
      _tao_any,
      CSI::CompleteEstablishContext::_tao_any_destructor,
      CSI::_tc_CompleteEstablishContext,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::CompleteEstablishContext *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::CompleteEstablishContext *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::CompleteEstablishContext *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::CompleteEstablishContext>::extract (
        _tao_any,
        CSI::CompleteEstablishContext::_tao_any_destructor,
        CSI::_tc_CompleteEstablishContext,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::ContextError &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::ContextError>::insert_copy (
      _tao_any,
      CSI::ContextError::_tao_any_destructor,
      CSI::_tc_ContextError,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::ContextError *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::ContextError>::insert (
      _tao_any,
      CSI::ContextError::_tao_any_destructor,
      CSI::_tc_ContextError,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::ContextError *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::ContextError *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::ContextError *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::ContextError>::extract (
        _tao_any,
        CSI::ContextError::_tao_any_destructor,
        CSI::_tc_ContextError,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::MessageInContext &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::MessageInContext>::insert_copy (
      _tao_any,
      CSI::MessageInContext::_tao_any_destructor,
      CSI::_tc_MessageInContext,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::MessageInContext *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::MessageInContext>::insert (
      _tao_any,
      CSI::MessageInContext::_tao_any_destructor,
      CSI::_tc_MessageInContext,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::MessageInContext *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::MessageInContext *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::MessageInContext *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::MessageInContext>::extract (
        _tao_any,
        CSI::MessageInContext::_tao_any_destructor,
        CSI::_tc_MessageInContext,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_union/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const CSI::SASContextBody &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::SASContextBody>::insert_copy (
      _tao_any,
      CSI::SASContextBody::_tao_any_destructor,
      CSI::_tc_SASContextBody,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    CSI::SASContextBody *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CSI::SASContextBody>::insert (
      _tao_any,
      CSI::SASContextBody::_tao_any_destructor,
      CSI::_tc_SASContextBody,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    CSI::SASContextBody *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const CSI::SASContextBody *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CSI::SASContextBody *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CSI::SASContextBody>::extract (
        _tao_any,
        CSI::SASContextBody::_tao_any_destructor,
        CSI::_tc_SASContextBody,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_X509CertificateChain_CPP_
#define _TAO_CDR_OP_CSI_X509CertificateChain_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::X509CertificateChain &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::X509CertificateChain *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::X509CertificateChain &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_X509CertificateChain_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_X501DistinguishedName_CPP_
#define _TAO_CDR_OP_CSI_X501DistinguishedName_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::X501DistinguishedName &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::X501DistinguishedName *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::X501DistinguishedName &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_X501DistinguishedName_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_UTF8String_CPP_
#define _TAO_CDR_OP_CSI_UTF8String_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::UTF8String &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::UTF8String *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::UTF8String &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_UTF8String_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_OID_CPP_
#define _TAO_CDR_OP_CSI_OID_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::OID &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::OID *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::OID &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_OID_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_OIDList_CPP_
#define _TAO_CDR_OP_CSI_OIDList_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::OIDList &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::OIDList &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_OIDList_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_GSSToken_CPP_
#define _TAO_CDR_OP_CSI_GSSToken_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::GSSToken &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::GSSToken *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::GSSToken &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_GSSToken_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_GSS_NT_ExportedName_CPP_
#define _TAO_CDR_OP_CSI_GSS_NT_ExportedName_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::GSS_NT_ExportedName &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::GSS_NT_ExportedName *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::GSS_NT_ExportedName &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_GSS_NT_ExportedName_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_CPP_
#define _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::GSS_NT_ExportedNameList &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::GSS_NT_ExportedNameList &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_AuthorizationElementContents_CPP_
#define _TAO_CDR_OP_CSI_AuthorizationElementContents_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::AuthorizationElementContents &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::AuthorizationElementContents *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::AuthorizationElementContents &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_AuthorizationElementContents_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::AuthorizationElement &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.the_type) &&
    (strm << _tao_aggregate.the_element);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::AuthorizationElement &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.the_type) &&
    (strm >> _tao_aggregate.the_element);
}

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_AuthorizationToken_CPP_
#define _TAO_CDR_OP_CSI_AuthorizationToken_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::AuthorizationToken &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::AuthorizationToken &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_AuthorizationToken_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CSI_IdentityExtension_CPP_
#define _TAO_CDR_OP_CSI_IdentityExtension_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::IdentityExtension &_tao_sequence
  )
{
  const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      {
        TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
          static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> ((CSI::IdentityExtension *)&_tao_sequence);
        if (oseq->mb ())
          return strm.write_octet_array_mb (oseq->mb ());
        else
          return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
      }
      
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::IdentityExtension &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
      if (ACE_BIT_DISABLED (strm.start ()->flags (),
      ACE_Message_Block::DONT_DELETE))
      {
        TAO_ORB_Core* orb_core = strm.orb_core ();
        if (orb_core != 0 &&
        strm.orb_core ()->resource_factory ()->
        input_cdr_allocator_type_locked () == 1)
        {
          TAO_Unbounded_Sequence<CORBA::Octet> *oseq = 
            static_cast<TAO_Unbounded_Sequence<CORBA::Octet> *> (&_tao_sequence);
          oseq->replace (_tao_seq_len, strm.start ());
          oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len);
          strm.skip_bytes (_tao_seq_len);
          return 1;
        }
      }
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
      return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ());
    
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CSI_IdentityExtension_CPP_ */

// TAO_IDL - Generated from
// be/be_visitor_union/cdr_op_cs.cpp:67

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::IdentityToken &_tao_union
  )
{
  if ( !(strm << _tao_union._d ()) )
    {
      return 0;
    }
  
  CORBA::Boolean result = 1;
  
  switch (_tao_union._d ())
  {
    case 0U:
      {
        result = strm << CORBA::Any::from_boolean (_tao_union.absent ());
      }
      break;
    case 1U:
      {
        result = strm << CORBA::Any::from_boolean (_tao_union.anonymous ());
      }
      break;
    case 2U:
      {
        result = strm << _tao_union.principal_name ();
      }
      break;
    case 4U:
      {
        result = strm << _tao_union.certificate_chain ();
      }
      break;
    case 8U:
      {
        result = strm << _tao_union.dn ();
      }
      break;
    default:
      {
        result = strm << _tao_union.id ();
      }
      break;
  }
  
  return result;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::IdentityToken &_tao_union
  )
{
  CORBA::ULong _tao_discriminant;
  if ( !(strm >> _tao_discriminant) )
    {
      return 0;
    }
  
  CORBA::Boolean result = 1;
  
  switch (_tao_discriminant)
  {
    case 0U:
      {
        CORBA::Boolean _tao_union_tmp;
        CORBA::Any::to_boolean _tao_union_helper (_tao_union_tmp);
        result = strm >> _tao_union_helper;
        
        if (result)
          {
            _tao_union.absent (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 1U:
      {
        CORBA::Boolean _tao_union_tmp;
        CORBA::Any::to_boolean _tao_union_helper (_tao_union_tmp);
        result = strm >> _tao_union_helper;
        
        if (result)
          {
            _tao_union.anonymous (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 2U:
      {
        CSI::GSS_NT_ExportedName _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.principal_name (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 4U:
      {
        CSI::X509CertificateChain _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.certificate_chain (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 8U:
      {
        CSI::X501DistinguishedName _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.dn (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    default:
      {
        CSI::IdentityExtension _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.id (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
  }
  
  return result;
}

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::EstablishContext &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.client_context_id) &&
    (strm << _tao_aggregate.authorization_token) &&
    (strm << _tao_aggregate.identity_token) &&
    (strm << _tao_aggregate.client_authentication_token);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::EstablishContext &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.client_context_id) &&
    (strm >> _tao_aggregate.authorization_token) &&
    (strm >> _tao_aggregate.identity_token) &&
    (strm >> _tao_aggregate.client_authentication_token);
}

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::CompleteEstablishContext &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.client_context_id) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.context_stateful)) &&
    (strm << _tao_aggregate.final_context_token);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::CompleteEstablishContext &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.client_context_id) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.context_stateful)) &&
    (strm >> _tao_aggregate.final_context_token);
}

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::ContextError &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.client_context_id) &&
    (strm << _tao_aggregate.major_status) &&
    (strm << _tao_aggregate.minor_status) &&
    (strm << _tao_aggregate.error_token);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::ContextError &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.client_context_id) &&
    (strm >> _tao_aggregate.major_status) &&
    (strm >> _tao_aggregate.minor_status) &&
    (strm >> _tao_aggregate.error_token);
}

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::MessageInContext &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.client_context_id) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.discard_context));
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::MessageInContext &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.client_context_id) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.discard_context));
}

// TAO_IDL - Generated from
// be/be_visitor_union/cdr_op_cs.cpp:67

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CSI::SASContextBody &_tao_union
  )
{
  if ( !(strm << _tao_union._d ()) )
    {
      return 0;
    }
  
  CORBA::Boolean result = 1;
  
  switch (_tao_union._d ())
  {
    case 0:
      {
        result = strm << _tao_union.establish_msg ();
      }
      break;
    case 1:
      {
        result = strm << _tao_union.complete_msg ();
      }
      break;
    case 4:
      {
        result = strm << _tao_union.error_msg ();
      }
      break;
    case 5:
      {
        result = strm << _tao_union.in_context_msg ();
      }
      break;
    default:
      break;
  }
  
  return result;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CSI::SASContextBody &_tao_union
  )
{
  CORBA::Short _tao_discriminant;
  if ( !(strm >> _tao_discriminant) )
    {
      return 0;
    }
  
  CORBA::Boolean result = 1;
  
  switch (_tao_discriminant)
  {
    case 0:
      {
        CSI::EstablishContext _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.establish_msg (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 1:
      {
        CSI::CompleteEstablishContext _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.complete_msg (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 4:
      {
        CSI::ContextError _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.error_msg (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    case 5:
      {
        CSI::MessageInContext _tao_union_tmp;
        result = strm >> _tao_union_tmp;
        
        if (result)
          {
            _tao_union.in_context_msg (_tao_union_tmp);
            _tao_union._d (_tao_discriminant);
          }
      }
      break;
    default:
      _tao_union._d (_tao_discriminant);
      break;
  }
  
  return result;
}

