/* Generated by Cython 0.28.5 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/base64.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/buffer_.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/doublylinkedlist.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/http_proxy_io.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/map.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/optionhandler.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/platform.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/sastoken.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/strings.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/strings_types.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/tickcounter.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/tlsio.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/urlencode.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/wsio.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/xio.h",
            "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc/azure_c_shared_utility/xlogging.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/amqp_definitions.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/amqp_management.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/amqp_types.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/amqpvalue.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/amqpvalue_to_string.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/async_operation.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/cbs.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/connection.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/link.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/message.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/message_receiver.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/message_sender.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/messaging.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/sasl_anonymous.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/sasl_mechanism.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/sasl_mssbcbs.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/sasl_plain.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/saslclientio.h",
            "src/vendor/azure-uamqp-c/inc/azure_uamqp_c/session.h",
            "src/vendor/inc/va_copy_patch.h"
        ],
        "extra_compile_args": [
            "-g",
            "-O0",
            "-std=gnu99",
            "-fPIC"
        ],
        "include_dirs": [
            "src/vendor/inc",
            "./src/vendor/inc",
            "./src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/pal/inc",
            "./src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/inc",
            "./src/vendor/azure-uamqp-c/inc",
            "./src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/pal/linux"
        ],
        "libraries": [
            "uamqp",
            "aziotsharedutil",
            "ssl",
            "crypto"
        ],
        "name": "uamqp.c_uamqp",
        "sources": [
            "uamqp/c_uamqp.pyx"
        ]
    },
    "module_name": "uamqp.c_uamqp"
}
END: Cython Metadata */

#define PY_SSIZE_T_CLEAN
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.6+ or Python 3.3+.
#else
#define CYTHON_ABI "0_28_5"
#define CYTHON_FUTURE_DIVISION 0
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
  #if PY_VERSION_HEX >= 0x02070000
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 0
  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT (0 && PY_VERSION_HEX >= 0x03050000)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #include "longintrepr.h"
  #undef SHIFT
  #undef BASE
  #undef MASK
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
           typedef unsigned char     uint8_t;
           typedef unsigned int      uint32_t;
        #else
           typedef unsigned __int8   uint8_t;
           typedef unsigned __int32  uint32_t;
        #endif
    #endif
#else
   #include <stdint.h>
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus) && __cplusplus >= 201103L
    #if __has_cpp_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH [[fallthrough]]
    #elif __has_cpp_attribute(clang::fallthrough)
      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
    #elif __has_cpp_attribute(gnu::fallthrough)
      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__ ) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif

#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #elif defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #define __Pyx_DefaultClassType PyType_Type
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x03060000
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
typedef int Py_tss_t;
static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  *key = PyThread_create_key();
  return 0; // PyThread_create_key reports success always
}
static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  *key = Py_tss_NEEDS_INIT;
  return key;
}
static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  PyObject_Free(key);
}
static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  return *key != Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  PyThread_delete_key(*key);
  *key = Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  return PyThread_set_key_value(*key, value);
}
static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  return PyThread_get_key_value(*key);
}
#endif // TSS (Thread Specific Storage) API
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
#else
#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
  #define PyObject_Unicode             PyObject_Str
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
#else
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif


#define __PYX_ERR(f_index, lineno, Ln_error) \
{ \
  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
}

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__uamqp__c_uamqp
#define __PYX_HAVE_API__uamqp__c_uamqp
/* Early includes */
#include <stdint.h>
#include "azure_uamqp_c/amqpvalue_to_string.h"
#include "azure_uamqp_c/amqp_types.h"
#include "azure_uamqp_c/amqpvalue.h"
#include "azure_uamqp_c/amqp_definitions.h"
#include "azure_c_shared_utility/strings_types.h"
#include "azure_c_shared_utility/strings.h"
#include "azure_c_shared_utility/sastoken.h"
#include "azure_c_shared_utility/buffer_.h"
#include "azure_c_shared_utility/map.h"
#include "azure_c_shared_utility/urlencode.h"
#include "azure_c_shared_utility/base64.h"
#include "azure_c_shared_utility/tickcounter.h"
#include "azure_c_shared_utility/doublylinkedlist.h"
#include "azure_c_shared_utility/optionhandler.h"
#include "azure_c_shared_utility/xio.h"
#include "azure_uamqp_c/connection.h"
#include "azure_uamqp_c/session.h"
#include "azure_uamqp_c/messaging.h"
#include "azure_uamqp_c/message.h"
#include "azure_uamqp_c/amqp_management.h"
#include <string.h>
#include <stdlib.h>
#include "azure_uamqp_c/async_operation.h"
#include "azure_c_shared_utility/tlsio.h"
#include "azure_c_shared_utility/http_proxy_io.h"
#include "azure_uamqp_c/cbs.h"
#include "azure_uamqp_c/link.h"
#include "azure_uamqp_c/message_receiver.h"
#include <stdio.h>
#include "azure_uamqp_c/message_sender.h"
#include "azure_c_shared_utility/platform.h"
#include "azure_uamqp_c/sasl_mechanism.h"
#include "azure_uamqp_c/sasl_anonymous.h"
#include "azure_uamqp_c/sasl_plain.h"
#include "azure_uamqp_c/sasl_mssbcbs.h"
#include "azure_uamqp_c/saslclientio.h"
#include "azure_c_shared_utility/wsio.h"
#include "azure_c_shared_utility/xlogging.h"
#include "stdarg.h"
#include "va_copy_patch.h"
#include "stdio.h"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }

static PyObject *__pyx_m = NULL;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_cython_runtime = NULL;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "./src/message.pyx",
  "./src/amqp_definitions.pyx",
  "stringsource",
  "./src/amqp_string.pyx",
  "./src/amqpvalue.pyx",
  "./src/base.pyx",
  "./src/connection.pyx",
  "./src/message_receiver.pyx",
  "./src/amqp_management.pyx",
  "./src/annotations.pyx",
  "./src/async_operation.pyx",
  "./src/cbs.pyx",
  "./src/error.pyx",
  "./src/header.pyx",
  "./src/link.pyx",
  "./src/message_sender.pyx",
  "./src/platform.pyx",
  "./src/properties.pyx",
  "./src/sasl.pyx",
  "./src/session.pyx",
  "./src/source.pyx",
  "./src/target.pyx",
  "./src/tlsio.pyx",
  "./src/wsio.pyx",
  "./src/xio.pyx",
  "./src/xlogging.pyx",
  "uamqp/c_uamqp.pyx",
  "type.pxd",
  "./src/constants.pyx",
};

/*--- Type declarations ---*/
struct __pyx_obj_5uamqp_7c_uamqp_StructBase;
struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation;
struct __pyx_obj_5uamqp_7c_uamqp_AMQPString;
struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue;
struct __pyx_obj_5uamqp_7c_uamqp_BoolValue;
struct __pyx_obj_5uamqp_7c_uamqp_UByteValue;
struct __pyx_obj_5uamqp_7c_uamqp_UShortValue;
struct __pyx_obj_5uamqp_7c_uamqp_UIntValue;
struct __pyx_obj_5uamqp_7c_uamqp_ULongValue;
struct __pyx_obj_5uamqp_7c_uamqp_ByteValue;
struct __pyx_obj_5uamqp_7c_uamqp_ShortValue;
struct __pyx_obj_5uamqp_7c_uamqp_IntValue;
struct __pyx_obj_5uamqp_7c_uamqp_LongValue;
struct __pyx_obj_5uamqp_7c_uamqp_FloatValue;
struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue;
struct __pyx_obj_5uamqp_7c_uamqp_CharValue;
struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue;
struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue;
struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue;
struct __pyx_obj_5uamqp_7c_uamqp_StringValue;
struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue;
struct __pyx_obj_5uamqp_7c_uamqp_ListValue;
struct __pyx_obj_5uamqp_7c_uamqp_DictValue;
struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue;
struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue;
struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue;
struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations;
struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties;
struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations;
struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations;
struct __pyx_obj_5uamqp_7c_uamqp_cFields;
struct __pyx_obj_5uamqp_7c_uamqp_cFooter;
struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation;
struct __pyx_obj_5uamqp_7c_uamqp_TickCounter;
struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth;
struct __pyx_obj_5uamqp_7c_uamqp_Connection;
struct __pyx_obj_5uamqp_7c_uamqp_cError;
struct __pyx_obj_5uamqp_7c_uamqp_cHeader;
struct __pyx_obj_5uamqp_7c_uamqp_cLink;
struct __pyx_obj_5uamqp_7c_uamqp_cMessage;
struct __pyx_obj_5uamqp_7c_uamqp_Messaging;
struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder;
struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver;
struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender;
struct __pyx_obj_5uamqp_7c_uamqp_cProperties;
struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism;
struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;
struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig;
struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig;
struct __pyx_obj_5uamqp_7c_uamqp_cSession;
struct __pyx_obj_5uamqp_7c_uamqp_cSource;
struct __pyx_obj_5uamqp_7c_uamqp_cTarget;
struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig;
struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig;
struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig;
struct __pyx_obj_5uamqp_7c_uamqp_XIO;
struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription;

/* "c_cbs.pxd":13
 * 
 * 
 * cdef enum AUTH_STATUS:             # <<<<<<<<<<<<<<
 *     AUTH_STATUS_OK,
 *     AUTH_STATUS_IDLE,
 */
enum __pyx_t_5c_cbs_AUTH_STATUS {
  __pyx_e_5c_cbs_AUTH_STATUS_OK,
  __pyx_e_5c_cbs_AUTH_STATUS_IDLE,
  __pyx_e_5c_cbs_AUTH_STATUS_IN_PROGRESS,
  __pyx_e_5c_cbs_AUTH_STATUS_TIMEOUT,
  __pyx_e_5c_cbs_AUTH_STATUS_REFRESH_REQUIRED,
  __pyx_e_5c_cbs_AUTH_STATUS_EXPIRED,
  __pyx_e_5c_cbs_AUTH_STATUS_ERROR,
  __pyx_e_5c_cbs_AUTH_STATUS_FAILURE
};
struct __pyx_opt_args_5uamqp_7c_uamqp_create_string_from_value;
struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message;
struct __pyx_opt_args_5uamqp_7c_uamqp_get_sasl_mechanism;

/* "src/amqp_string.pyx":23
 * 
 * 
 * cpdef create_string_from_value(value, encoding='UTF-8'):             # <<<<<<<<<<<<<<
 *     if isinstance(value, six.text_type):
 *         value = value.encode(encoding)
 */
struct __pyx_opt_args_5uamqp_7c_uamqp_create_string_from_value {
  int __pyx_n;
  PyObject *encoding;
};

/* "src/message_receiver.pyx":87
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_rejected_message(self, c_amqp_definitions.delivery_number message_number, const char* error_condition, const char* error_description, AMQPValue error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 */
struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message {
  int __pyx_n;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *error_info;
};

/* "src/sasl.pyx":50
 * 
 * 
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):             # <<<<<<<<<<<<<<
 *     if interface is None:
 *         interface = _get_sasl_mechanism_interface()
 */
struct __pyx_opt_args_5uamqp_7c_uamqp_get_sasl_mechanism {
  int __pyx_n;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *interface;
};

/* "src/base.pyx":18
 * 
 * 
 * cdef class StructBase(object):             # <<<<<<<<<<<<<<
 *     """Base class for wrapped C structs."""
 * 
 */
struct __pyx_obj_5uamqp_7c_uamqp_StructBase {
  PyObject_HEAD
};


/* "src/amqp_management.pyx":24
 * 
 * 
 * cdef class cManagementOperation(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_management.AMQP_MANAGEMENT_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *__pyx_vtab;
  AMQP_MANAGEMENT_HANDLE _c_value;
  PyObject *_session;
};


/* "src/amqp_string.pyx":31
 * 
 * 
 * cdef class AMQPString(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_strings.STRING_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_AMQPString {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *__pyx_vtab;
  STRING_HANDLE _c_value;
};


/* "src/amqpvalue.pyx":271
 * 
 * 
 * cdef class AMQPValue(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.NullValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *__pyx_vtab;
  AMQP_VALUE _c_value;
};


/* "src/amqpvalue.pyx":369
 * 
 * 
 * cdef class BoolValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.BoolValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_BoolValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":396
 * 
 * 
 * cdef class UByteValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UByteValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_UByteValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":414
 * 
 * 
 * cdef class UShortValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UShortValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_UShortValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":432
 * 
 * 
 * cdef class UIntValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UIntValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_UIntValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":450
 * 
 * 
 * cdef class ULongValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ULongValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_ULongValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":468
 * 
 * 
 * cdef class ByteValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ByteValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_ByteValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":486
 * 
 * 
 * cdef class ShortValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ShortValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_ShortValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":504
 * 
 * 
 * cdef class IntValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.IntValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_IntValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":522
 * 
 * 
 * cdef class LongValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.LongValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_LongValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":540
 * 
 * 
 * cdef class FloatValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.FloatValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_FloatValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":558
 * 
 * 
 * cdef class DoubleValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DoubleValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":576
 * 
 * 
 * cdef class CharValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.CharValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_CharValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":594
 * 
 * 
 * cdef class TimestampValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.TimestampValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":612
 * 
 * 
 * cdef class UUIDValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UUIDValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":627
 * 
 * 
 * cdef class BinaryValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.BinaryValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":659
 * 
 * 
 * cdef class StringValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.StringValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_StringValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":677
 * 
 * 
 * cdef class SymbolValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.SymbolValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":695
 * 
 * 
 * cdef class ListValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ListValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_ListValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":749
 * 
 * 
 * cdef class DictValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DictValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_DictValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":802
 * 
 * 
 * cdef class ArrayValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ArrayValue
 */
struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":847
 * 
 * 
 * cdef class CompositeValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.CompositeType
 */
struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/amqpvalue.pyx":903
 * 
 * 
 * cdef class DescribedValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DescribedType
 */
struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};


/* "src/annotations.pyx":74
 * 
 * 
 * cdef class cAnnotations(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqpvalue.AMQP_VALUE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *__pyx_vtab;
  AMQP_VALUE _c_value;
};


/* "src/annotations.pyx":143
 * 
 * 
 * cdef class cApplicationProperties(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};


/* "src/annotations.pyx":173
 * 
 * 
 * cdef class cDeliveryAnnotations(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};


/* "src/annotations.pyx":182
 * 
 * 
 * cdef class cMessageAnnotations(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};


/* "src/annotations.pyx":191
 * 
 * 
 * cdef class cFields(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
struct __pyx_obj_5uamqp_7c_uamqp_cFields {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};


/* "src/annotations.pyx":199
 * 
 * 
 * cdef class cFooter(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
struct __pyx_obj_5uamqp_7c_uamqp_cFooter {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};


/* "src/async_operation.pyx":17
 * 
 * 
 * cdef class AsyncOperation(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_async_operation.ASYNC_OPERATION_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation *__pyx_vtab;
  ASYNC_OPERATION_HANDLE _c_value;
};


/* "src/base.pyx":40
 * 
 * 
 * cdef class TickCounter(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_utils.TICK_COUNTER_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_TickCounter {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_TickCounter *__pyx_vtab;
  TICK_COUNTER_HANDLE _c_value;
};


/* "src/cbs.pyx":40
 * 
 * 
 * cdef class CBSTokenAuth(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef const char* audience
 */
struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_vtab;
  char const *audience;
  char const *token_type;
  char const *token;
  uint64_t expires_at;
  uint64_t _refresh_window;
  CBS_HANDLE _cbs_handle;
  enum __pyx_t_5c_cbs_AUTH_STATUS state;
  uint64_t auth_timeout;
  uint64_t _token_put_time;
  unsigned int token_status_code;
  char const *token_status_description;
  char const *connection_id;
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *_session;
};


/* "src/connection.pyx":46
 * 
 * 
 * cdef class Connection(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_connection.CONNECTION_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_Connection {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *__pyx_vtab;
  CONNECTION_HANDLE _c_value;
  ON_CONNECTION_CLOSED_EVENT_SUBSCRIPTION_HANDLE _close_event;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *_sasl_client;
};


/* "src/error.pyx":30
 * 
 * 
 * cdef class cError(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.ERROR_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cError {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *__pyx_vtab;
  ERROR_HANDLE _c_value;
};


/* "src/header.pyx":25
 * 
 * 
 * cdef class cHeader(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.HEADER_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cHeader {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *__pyx_vtab;
  HEADER_HANDLE _c_value;
};


/* "src/link.pyx":28
 * 
 * 
 * cdef class cLink(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_link.LINK_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cLink {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *__pyx_vtab;
  LINK_HANDLE _c_value;
  ON_LINK_DETACH_EVENT_SUBSCRIPTION_HANDLE _detach_event;
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *_session;
};


/* "src/message.pyx":41
 * 
 * 
 * cdef class cMessage(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message.MESSAGE_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cMessage {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *__pyx_vtab;
  MESSAGE_HANDLE _c_value;
};


/* "src/message.pyx":302
 * 
 * 
 * cdef class Messaging(object):             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
struct __pyx_obj_5uamqp_7c_uamqp_Messaging {
  PyObject_HEAD
};


/* "src/message.pyx":637
 * 
 * 
 * cdef class cMessageDecoder(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message.MESSAGE_HANDLE decoded_message
 */
struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder {
  PyObject_HEAD
  MESSAGE_HANDLE decoded_message;
  char const *decode_error;
};


/* "src/message_receiver.pyx":27
 * 
 * 
 * cdef class cMessageReceiver(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message_receiver.MESSAGE_RECEIVER_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *__pyx_vtab;
  MESSAGE_RECEIVER_HANDLE _c_value;
  char const *_link_name;
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *_link;
};


/* "src/message_sender.pyx":36
 * 
 * 
 * cdef class cMessageSender(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message_sender.MESSAGE_SENDER_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *__pyx_vtab;
  MESSAGE_SENDER_HANDLE _c_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *_link;
};


/* "src/properties.pyx":31
 * 
 * 
 * cdef class cProperties(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.PROPERTIES_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cProperties {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *__pyx_vtab;
  PROPERTIES_HANDLE _c_value;
};


/* "src/sasl.pyx":66
 * 
 * 
 * cdef class SASLMechanism(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASL_MECHANISM_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *__pyx_vtab;
  SASL_MECHANISM_HANDLE _c_value;
};


/* "src/sasl.pyx":103
 * 
 * 
 * cdef class SASLMechanismInterfaceDescription(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_vtab;
  SASL_MECHANISM_INTERFACE_DESCRIPTION *_c_value;
};


/* "src/sasl.pyx":114
 * 
 * 
 * cdef class SASLClientIOConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASLCLIENTIO_CONFIG _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig {
  PyObject_HEAD
  SASLCLIENTIO_CONFIG _c_value;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *_underlying_io;
};


/* "src/sasl.pyx":132
 * 
 * 
 * cdef class SASLPlainConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASL_PLAIN_CONFIG _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig {
  PyObject_HEAD
  SASL_PLAIN_CONFIG _c_value;
};


/* "src/session.pyx":27
 * 
 * 
 * cdef class cSession(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     _links = []
 */
struct __pyx_obj_5uamqp_7c_uamqp_cSession {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *__pyx_vtab;
  SESSION_HANDLE _c_value;
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *_connection;
};


/* "src/source.pyx":30
 * 
 * 
 * cdef class cSource(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.SOURCE_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cSource {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *__pyx_vtab;
  SOURCE_HANDLE _c_value;
};


/* "src/target.pyx":30
 * 
 * 
 * cdef class cTarget(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.TARGET_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_cTarget {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *__pyx_vtab;
  TARGET_HANDLE _c_value;
};


/* "src/tlsio.pyx":15
 * 
 * 
 * cdef class TLSIOConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_tlsio.TLSIO_CONFIG _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_TLSIOConfig *__pyx_vtab;
  TLSIO_CONFIG _c_value;
};


/* "src/tlsio.pyx":45
 * 
 * 
 * cdef class HTTPProxyConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_tlsio.HTTP_PROXY_IO_CONFIG _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig {
  PyObject_HEAD
  HTTP_PROXY_IO_CONFIG _c_value;
};


/* "src/wsio.pyx":17
 * 
 * 
 * cdef class WSIOConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_wsio.WSIO_CONFIG _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_WSIOConfig *__pyx_vtab;
  WSIO_CONFIG _c_value;
};


/* "src/xio.pyx":43
 * 
 * 
 * cdef class XIO(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_xio.XIO_HANDLE _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_XIO {
  struct __pyx_obj_5uamqp_7c_uamqp_StructBase __pyx_base;
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *__pyx_vtab;
  XIO_HANDLE _c_value;
  PyObject *_io_config;
};


/* "src/xio.pyx":90
 * 
 * 
 * cdef class IOInterfaceDescription(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_xio.IO_INTERFACE_DESCRIPTION* _c_value
 */
struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription {
  PyObject_HEAD
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_vtab;
  IO_INTERFACE_DESCRIPTION *_c_value;
};



/* "src/amqp_management.pyx":24
 * 
 * 
 * cdef class cManagementOperation(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_management.AMQP_MANAGEMENT_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *);
  PyObject *(*set_trace)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int, int __pyx_skip_dispatch);
  PyObject *(*set_response_field_names)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, char const *, char const *, int __pyx_skip_dispatch);
  PyObject *(*open)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*close)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int __pyx_skip_dispatch);
  PyObject *(*execute)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, char const *, char const *, PyObject *, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, PyObject *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *__pyx_vtabptr_5uamqp_7c_uamqp_cManagementOperation;


/* "src/amqp_string.pyx":31
 * 
 * 
 * cdef class AMQPString(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_strings.STRING_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, STRING_HANDLE);
  PyObject *(*construct)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, char const *);
  PyObject *(*append)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPString;


/* "src/amqpvalue.pyx":271
 * 
 * 
 * cdef class AMQPValue(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.NullValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue {
  PyObject *(*_as_string)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, AMQP_VALUE);
  PyObject *(*get_encoded_size)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;


/* "src/amqpvalue.pyx":369
 * 
 * 
 * cdef class BoolValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.BoolValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_BoolValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
  PyObject *(*_bool_value)(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_BoolValue *__pyx_vtabptr_5uamqp_7c_uamqp_BoolValue;


/* "src/amqpvalue.pyx":396
 * 
 * 
 * cdef class UByteValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UByteValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_UByteValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UByteValue *__pyx_vtabptr_5uamqp_7c_uamqp_UByteValue;


/* "src/amqpvalue.pyx":414
 * 
 * 
 * cdef class UShortValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UShortValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_UShortValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UShortValue *__pyx_vtabptr_5uamqp_7c_uamqp_UShortValue;


/* "src/amqpvalue.pyx":432
 * 
 * 
 * cdef class UIntValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UIntValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_UIntValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UIntValue *__pyx_vtabptr_5uamqp_7c_uamqp_UIntValue;


/* "src/amqpvalue.pyx":450
 * 
 * 
 * cdef class ULongValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ULongValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_ULongValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ULongValue *__pyx_vtabptr_5uamqp_7c_uamqp_ULongValue;


/* "src/amqpvalue.pyx":468
 * 
 * 
 * cdef class ByteValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ByteValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_ByteValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ByteValue *__pyx_vtabptr_5uamqp_7c_uamqp_ByteValue;


/* "src/amqpvalue.pyx":486
 * 
 * 
 * cdef class ShortValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ShortValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_ShortValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ShortValue *__pyx_vtabptr_5uamqp_7c_uamqp_ShortValue;


/* "src/amqpvalue.pyx":504
 * 
 * 
 * cdef class IntValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.IntValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_IntValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_IntValue *__pyx_vtabptr_5uamqp_7c_uamqp_IntValue;


/* "src/amqpvalue.pyx":522
 * 
 * 
 * cdef class LongValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.LongValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_LongValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_LongValue *__pyx_vtabptr_5uamqp_7c_uamqp_LongValue;


/* "src/amqpvalue.pyx":540
 * 
 * 
 * cdef class FloatValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.FloatValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_FloatValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_FloatValue *__pyx_vtabptr_5uamqp_7c_uamqp_FloatValue;


/* "src/amqpvalue.pyx":558
 * 
 * 
 * cdef class DoubleValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DoubleValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_DoubleValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DoubleValue *__pyx_vtabptr_5uamqp_7c_uamqp_DoubleValue;


/* "src/amqpvalue.pyx":576
 * 
 * 
 * cdef class CharValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.CharValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_CharValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CharValue *__pyx_vtabptr_5uamqp_7c_uamqp_CharValue;


/* "src/amqpvalue.pyx":594
 * 
 * 
 * cdef class TimestampValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.TimestampValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_TimestampValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TimestampValue *__pyx_vtabptr_5uamqp_7c_uamqp_TimestampValue;


/* "src/amqpvalue.pyx":612
 * 
 * 
 * cdef class UUIDValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.UUIDValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_UUIDValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UUIDValue *__pyx_vtabptr_5uamqp_7c_uamqp_UUIDValue;


/* "src/amqpvalue.pyx":627
 * 
 * 
 * cdef class BinaryValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.BinaryValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_BinaryValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_BinaryValue *__pyx_vtabptr_5uamqp_7c_uamqp_BinaryValue;


/* "src/amqpvalue.pyx":659
 * 
 * 
 * cdef class StringValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.StringValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_StringValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_StringValue *__pyx_vtabptr_5uamqp_7c_uamqp_StringValue;


/* "src/amqpvalue.pyx":677
 * 
 * 
 * cdef class SymbolValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.SymbolValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_SymbolValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SymbolValue *__pyx_vtabptr_5uamqp_7c_uamqp_SymbolValue;


/* "src/amqpvalue.pyx":695
 * 
 * 
 * cdef class ListValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ListValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_ListValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ListValue *__pyx_vtabptr_5uamqp_7c_uamqp_ListValue;


/* "src/amqpvalue.pyx":749
 * 
 * 
 * cdef class DictValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DictValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_DictValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DictValue *__pyx_vtabptr_5uamqp_7c_uamqp_DictValue;


/* "src/amqpvalue.pyx":802
 * 
 * 
 * cdef class ArrayValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.ArrayValue
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_ArrayValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
  PyObject *(*append)(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ArrayValue *__pyx_vtabptr_5uamqp_7c_uamqp_ArrayValue;


/* "src/amqpvalue.pyx":847
 * 
 * 
 * cdef class CompositeValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.CompositeType
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_CompositeValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CompositeValue *__pyx_vtabptr_5uamqp_7c_uamqp_CompositeValue;


/* "src/amqpvalue.pyx":903
 * 
 * 
 * cdef class DescribedValue(AMQPValue):             # <<<<<<<<<<<<<<
 * 
 *     _type = AMQPType.DescribedType
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_DescribedValue {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DescribedValue *__pyx_vtabptr_5uamqp_7c_uamqp_DescribedValue;


/* "src/annotations.pyx":74
 * 
 * 
 * cdef class cAnnotations(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqpvalue.AMQP_VALUE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch);
  PyObject *(*get_encoded_size)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, annotations);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;


/* "src/annotations.pyx":143
 * 
 * 
 * cdef class cApplicationProperties(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties *__pyx_vtabptr_5uamqp_7c_uamqp_cApplicationProperties;


/* "src/annotations.pyx":173
 * 
 * 
 * cdef class cDeliveryAnnotations(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_vtabptr_5uamqp_7c_uamqp_cDeliveryAnnotations;


/* "src/annotations.pyx":182
 * 
 * 
 * cdef class cMessageAnnotations(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_vtabptr_5uamqp_7c_uamqp_cMessageAnnotations;


/* "src/annotations.pyx":191
 * 
 * 
 * cdef class cFields(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields *__pyx_vtabptr_5uamqp_7c_uamqp_cFields;


/* "src/annotations.pyx":199
 * 
 * 
 * cdef class cFooter(cAnnotations):             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter {
  struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_base;
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter *__pyx_vtabptr_5uamqp_7c_uamqp_cFooter;


/* "src/async_operation.pyx":17
 * 
 * 
 * cdef class AsyncOperation(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_async_operation.ASYNC_OPERATION_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, ASYNC_OPERATION_HANDLE);
  PyObject *(*cancel)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation *__pyx_vtabptr_5uamqp_7c_uamqp_AsyncOperation;


/* "src/base.pyx":40
 * 
 * 
 * cdef class TickCounter(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_utils.TICK_COUNTER_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_TickCounter {
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *, int __pyx_skip_dispatch);
  PyObject *(*get_current_ms)(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TickCounter *__pyx_vtabptr_5uamqp_7c_uamqp_TickCounter;


/* "src/cbs.pyx":40
 * 
 * 
 * cdef class CBSTokenAuth(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef const char* audience
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth {
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*close)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*set_trace)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int, int __pyx_skip_dispatch);
  PyObject *(*authenticate)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*get_status)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*get_failure_info)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*refresh)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, char const *, uint64_t, int __pyx_skip_dispatch);
  PyObject *(*_update_status)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*_check_put_timeout_status)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*_check_expiration_and_refresh_status)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*_cbs_open_complete)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*on_cbs_open_complete)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*_cbs_error)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*on_cbs_error)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch);
  PyObject *(*_cbs_put_token_compelete)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, enum CBS_OPERATION_RESULT_TAG, unsigned int, char const *, int __pyx_skip_dispatch);
  PyObject *(*on_cbs_put_token_complete)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, enum CBS_OPERATION_RESULT_TAG, unsigned int, char const *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_vtabptr_5uamqp_7c_uamqp_CBSTokenAuth;


/* "src/connection.pyx":46
 * 
 * 
 * cdef class Connection(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_connection.CONNECTION_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, struct __pyx_obj_5uamqp_7c_uamqp_Connection *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, struct __pyx_obj_5uamqp_7c_uamqp_XIO *, char const *, char const *, ON_CONNECTION_STATE_CHANGED, ON_IO_ERROR, void *);
  PyObject *(*open)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch);
  PyObject *(*close)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, char const *, char const *, int __pyx_skip_dispatch);
  PyObject *(*set_trace)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int, int __pyx_skip_dispatch);
  PyObject *(*do_work)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch);
  PyObject *(*subscribe_to_close_event)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*unsubscribe_to_close_event)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *__pyx_vtabptr_5uamqp_7c_uamqp_Connection;


/* "src/error.pyx":30
 * 
 * 
 * cdef class cError(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.ERROR_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_cError *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, ERROR_HANDLE);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, char const *);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *__pyx_vtabptr_5uamqp_7c_uamqp_cError;


/* "src/header.pyx":25
 * 
 * 
 * cdef class cHeader(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.HEADER_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, HEADER_HANDLE);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *__pyx_vtabptr_5uamqp_7c_uamqp_cHeader;


/* "src/link.pyx":28
 * 
 * 
 * cdef class cLink(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_link.LINK_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, role, AMQP_VALUE, AMQP_VALUE);
  PyObject *(*subscribe_to_detach_event)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*unsubscribe_to_detach_event)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch);
  PyObject *(*do_work)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch);
  PyObject *(*set_prefetch_count)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, uint32_t, int __pyx_skip_dispatch);
  PyObject *(*set_attach_properties)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*set_desired_capabilities)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *__pyx_vtabptr_5uamqp_7c_uamqp_cLink;


/* "src/message.pyx":41
 * 
 * 
 * cdef class cMessage(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message.MESSAGE_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, MESSAGE_HANDLE);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch);
  PyObject *(*add_body_data)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*get_body_data)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, size_t, int __pyx_skip_dispatch);
  PyObject *(*count_body_data)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch);
  PyObject *(*set_body_value)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*get_body_value)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch);
  PyObject *(*add_body_sequence)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*get_body_sequence)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, size_t, int __pyx_skip_dispatch);
  PyObject *(*count_body_sequence)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *__pyx_vtabptr_5uamqp_7c_uamqp_cMessage;


/* "src/message_receiver.pyx":27
 * 
 * 
 * cdef class cMessageReceiver(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message_receiver.MESSAGE_RECEIVER_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *, ON_MESSAGE_RECEIVER_STATE_CHANGED, void *);
  PyObject *(*open)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*close)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch);
  PyObject *(*last_received_message_number)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch);
  PyObject *(*settle_accepted_message)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int __pyx_skip_dispatch);
  PyObject *(*settle_released_message)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int __pyx_skip_dispatch);
  PyObject *(*settle_rejected_message)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, char const *, char const *, int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message *__pyx_optional_args);
  PyObject *(*settle_modified_message)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int, int, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *);
  PyObject *(*set_trace)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *__pyx_vtabptr_5uamqp_7c_uamqp_cMessageReceiver;


/* "src/message_sender.pyx":36
 * 
 * 
 * cdef class cMessageSender(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_message_sender.MESSAGE_SENDER_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender {
  PyObject *(*open)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch);
  PyObject *(*close)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch);
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *, ON_MESSAGE_SENDER_STATE_CHANGED, void *);
  PyObject *(*send)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, tickcounter_ms_t, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*set_trace)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *__pyx_vtabptr_5uamqp_7c_uamqp_cMessageSender;


/* "src/properties.pyx":31
 * 
 * 
 * cdef class cProperties(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.PROPERTIES_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, PROPERTIES_HANDLE);
  PyObject *(*load_from_value)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *);
  PyObject *(*get_properties)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *);
  PyObject *(*clone)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *__pyx_vtabptr_5uamqp_7c_uamqp_cProperties;


/* "src/sasl.pyx":66
 * 
 * 
 * cdef class SASLMechanism(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASL_MECHANISM_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, SASL_MECHANISM_HANDLE);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *);
  PyObject *(*create_with_parameters)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *, void *);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *__pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanism;


/* "src/sasl.pyx":103
 * 
 * 
 * cdef class SASLMechanismInterfaceDescription(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription {
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *, SASL_MECHANISM_INTERFACE_DESCRIPTION *);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;


/* "src/session.pyx":27
 * 
 * 
 * cdef class cSession(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     _links = []
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, struct __pyx_obj_5uamqp_7c_uamqp_Connection *, ON_LINK_ATTACHED, void *);
  PyObject *(*begin)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, int __pyx_skip_dispatch);
  PyObject *(*end)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, char const *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *__pyx_vtabptr_5uamqp_7c_uamqp_cSession;


/* "src/source.pyx":30
 * 
 * 
 * cdef class cSource(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.SOURCE_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *, SOURCE_HANDLE);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *__pyx_vtabptr_5uamqp_7c_uamqp_cSource;


/* "src/target.pyx":30
 * 
 * 
 * cdef class cTarget(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_amqp_definitions.TARGET_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget {
  PyObject *(*_validate)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *, TARGET_HANDLE);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *__pyx_vtabptr_5uamqp_7c_uamqp_cTarget;


/* "src/tlsio.pyx":15
 * 
 * 
 * cdef class TLSIOConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_tlsio.TLSIO_CONFIG _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_TLSIOConfig {
  PyObject *(*set_proxy_config)(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TLSIOConfig *__pyx_vtabptr_5uamqp_7c_uamqp_TLSIOConfig;


/* "src/wsio.pyx":17
 * 
 * 
 * cdef class WSIOConfig(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_wsio.WSIO_CONFIG _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_WSIOConfig {
  PyObject *(*set_tlsio_config)(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_WSIOConfig *__pyx_vtabptr_5uamqp_7c_uamqp_WSIOConfig;


/* "src/xio.pyx":43
 * 
 * 
 * cdef class XIO(StructBase):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_xio.XIO_HANDLE _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO {
  PyObject *(*_create)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *);
  PyObject *(*destroy)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, int __pyx_skip_dispatch);
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, struct __pyx_obj_5uamqp_7c_uamqp_XIO *);
  PyObject *(*create)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, IO_INTERFACE_DESCRIPTION *, PyObject *, void *);
  PyObject *(*set_option)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, char const *, PyObject *, int __pyx_skip_dispatch);
  PyObject *(*set_certificates)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, PyObject *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *__pyx_vtabptr_5uamqp_7c_uamqp_XIO;


/* "src/xio.pyx":90
 * 
 * 
 * cdef class IOInterfaceDescription(object):             # <<<<<<<<<<<<<<
 * 
 *     cdef c_xio.IO_INTERFACE_DESCRIPTION* _c_value
 */

struct __pyx_vtabstruct_5uamqp_7c_uamqp_IOInterfaceDescription {
  PyObject *(*wrap)(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *, IO_INTERFACE_DESCRIPTION *);
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_vtabptr_5uamqp_7c_uamqp_IOInterfaceDescription;

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyObjectGetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* IncludeStringH.proto */
#include <string.h>

/* PyObjectCall.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
#endif
#endif

/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* RaiseDoubleKeywords.proto */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
    const char* function_name);

/* KeywordStringCheck.proto */
static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);

/* GetModuleGlobalName.proto */
static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);

/* WriteUnraisableException.proto */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil);

/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
#endif

/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* decode_c_string_utf16.proto */
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 0;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = -1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}

/* decode_c_string.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* PyErrExceptionMatches.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* PyObjectCallMethod1.proto */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg);

/* append.proto */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);

/* BytesEquals.proto */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* StrEquals.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
#else
#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
#endif

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* RaiseNeedMoreValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* IterFinish.proto */
static CYTHON_INLINE int __Pyx_IterFinish(void);

/* UnpackItemEndCheck.proto */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* pyobject_as_double.proto */
static double __Pyx__PyObject_AsDouble(PyObject* obj);
#if CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyObject_AsDouble(obj)\
(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\
 likely(PyInt_CheckExact(obj)) ?\
 PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj))
#else
#define __Pyx_PyObject_AsDouble(obj)\
((likely(PyFloat_CheckExact(obj))) ?\
 PyFloat_AS_DOUBLE(obj) : __Pyx__PyObject_AsDouble(obj))
#endif

/* HasAttr.proto */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);

/* pop_index.proto */
static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix);
static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix);
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix);
#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    (likely(PyList_CheckExact(L) && __Pyx_fits_Py_ssize_t(ix, type, is_signed))) ?\
        __Pyx__PyList_PopIndex(L, py_ix, ix) : (\
        (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
            __Pyx__PyObject_PopIndex(L, py_ix)))
#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    __Pyx_fits_Py_ssize_t(ix, type, is_signed) ?\
        __Pyx__PyList_PopIndex(L, py_ix, ix) : (\
        (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
            __Pyx__PyObject_PopIndex(L, py_ix)))
#else
#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)\
    __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)
#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\
    (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\
        __Pyx__PyObject_PopIndex(L, py_ix))
#endif

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* CallNextTpTraverse.proto */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);

/* CallNextTpClear.proto */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);

/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif

/* PyObject_GenericGetAttr.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
#endif

/* SetupReduce.proto */
static int __Pyx_setup_reduce(PyObject* type_obj);

/* SetVTable.proto */
static int __Pyx_SetVtable(PyObject *dict, void *vtable);

/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

/* GetNameInClass.proto */
static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name);

/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif

/* CodeObjectCache.proto */
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(enum AMQP_TYPE_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(enum CONNECTION_STATE_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint8_t(uint8_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(enum CBS_OPERATION_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(enum CBS_OPEN_COMPLETE_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(enum MESSAGE_RECEIVER_STATE_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(enum MESSAGE_SEND_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(enum MESSAGE_SENDER_STATE_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__IO_SEND_RESULT_TAG(enum IO_SEND_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__IO_OPEN_RESULT_TAG(enum IO_OPEN_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(enum __pyx_t_5c_cbs_AUTH_STATUS value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(enum MESSAGE_BODY_TYPE_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(enum LOG_CATEGORY_TAG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint16_t(uint16_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_char(char value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int16_t(int16_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int32_t(int32_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint_fast64_t(uint_fast64_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint_fast32_t(uint_fast32_t value);

static PyObject* __pyx_convert__to_py_SASL_MECHANISM_HANDLE(SASL_MECHANISM_HANDLE s);
/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int16_t __Pyx_PyInt_As_int16_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int32_t __Pyx_PyInt_As_int32_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CBS_OPERATION_RESULT_TAG __Pyx_PyInt_As_enum__CBS_OPERATION_RESULT_TAG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint_fast32_t __Pyx_PyInt_As_uint_fast32_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_5c_cbs_AUTH_STATUS __Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(PyObject *);

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
#endif
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

/* PyIdentifierFromString.proto */
#if !defined(__Pyx_PyIdentifier_FromString)
#if PY_MAJOR_VERSION < 3
  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
#else
  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
#endif
#endif

/* ModuleImport.proto */
static PyObject *__Pyx_ImportModule(const char *name);

/* TypeImport.proto */
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation__validate(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_create(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_management_node); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_response_field_names(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_open(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_close(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_execute(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_operation, char const *__pyx_v_type, PyObject *__pyx_v_locales, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString__validate(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, STRING_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_construct(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, char const *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_append(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue__as_string(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue__validate(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, AMQP_VALUE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9BoolValue__bool_value(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10ArrayValue_append(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations__validate(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_clone(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, annotations __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_22cApplicationProperties_create(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_19cMessageAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cFields_create(struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cFooter_create(struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation__create(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, ASYNC_OPERATION_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_cancel(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TickCounter_destroy(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TickCounter_get_current_ms(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_destroy(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_close(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_v_trace_on, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_authenticate(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_failure_info(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_refresh(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_refresh_token, uint64_t __pyx_v_expires_at, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__update_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_put_timeout_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_expiration_and_refresh_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_put_token_compelete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_put_token_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection__create(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_destroy(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_wrap(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_create(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client, char const *__pyx_v_hostname, char const *__pyx_v_container_id, ON_CONNECTION_STATE_CHANGED __pyx_v_on_connection_state_changed, ON_IO_ERROR __pyx_v_on_io_error, void *__pyx_v_callback_context); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_open(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_close(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_do_work(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_subscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, PyObject *__pyx_v_on_close_received, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_unsubscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError__create(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, ERROR_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_create(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_condition_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader__validate(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, HEADER_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_clone(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink__create(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_create(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_name, role __pyx_v_role, AMQP_VALUE __pyx_v_source, AMQP_VALUE __pyx_v_target); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_subscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, PyObject *__pyx_v_on_detch_received, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_unsubscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_do_work(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_prefetch_count(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint32_t __pyx_v_prefetch, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_attach_properties(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_properties, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_desired_capabilities(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_desired_capabilities, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage__create(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, MESSAGE_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_clone(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, PyObject *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_set_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver__validate(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, ON_MESSAGE_RECEIVER_STATE_CHANGED __pyx_v_on_message_sender_state_changed, void *__pyx_v_context); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_last_received_message_number(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_accepted_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_released_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, char const *__pyx_v_error_condition, char const *__pyx_v_error_description, int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message *__pyx_optional_args); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_modified_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_annotations, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender__create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, ON_MESSAGE_SENDER_STATE_CHANGED __pyx_v_on_message_sender_state_changed, void *__pyx_v_context); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_send(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, tickcounter_ms_t __pyx_v_timeout, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties__validate(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, PROPERTIES_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_load_from_value(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_get_properties(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_clone(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism__create(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_destroy(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_wrap(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, SASL_MECHANISM_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_sasl_mechanism_interface_description); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create_with_parameters(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_sasl_mechanism_interface_description, void *__pyx_v_parameters); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_wrap(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self, SASL_MECHANISM_INTERFACE_DESCRIPTION *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession__create(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_create(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection, ON_LINK_ATTACHED __pyx_v_on_link_attached, void *__pyx_v_callback_context); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_begin(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_end(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource__validate(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, SOURCE_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget__validate(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, TARGET_HANDLE __pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TLSIOConfig_set_proxy_config(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_underlying_io_parameters, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10WSIOConfig_set_tlsio_config(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_underlying_io_interface, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_underlying_io_parameters, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO__create(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_destroy(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_wrap(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_value); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_create(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, IO_INTERFACE_DESCRIPTION *__pyx_v_io_desc, PyObject *__pyx_v_io_config, void *__pyx_v_io_params); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_set_option(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, char const *__pyx_v_option_name, PyObject *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_set_certificates(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, PyObject *__pyx_v_value, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_22IOInterfaceDescription_wrap(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self, IO_INTERFACE_DESCRIPTION *__pyx_v_value); /* proto*/

/* Module declarations from 'libc' */

/* Module declarations from 'libc.stdint' */

/* Module declarations from 'c_amqpvalue' */

/* Module declarations from 'c_amqp_definitions' */

/* Module declarations from 'c_strings' */

/* Module declarations from 'c_utils' */

/* Module declarations from 'c_xio' */

/* Module declarations from 'c_connection' */

/* Module declarations from 'c_session' */

/* Module declarations from 'c_message' */

/* Module declarations from 'c_amqp_management' */

/* Module declarations from 'libc.string' */

/* Module declarations from 'libc.stdlib' */

/* Module declarations from 'cython' */

/* Module declarations from 'c_async_operation' */

/* Module declarations from 'c_tlsio' */

/* Module declarations from 'c_cbs' */

/* Module declarations from 'c_link' */

/* Module declarations from 'c_message_receiver' */

/* Module declarations from 'libc.stdio' */

/* Module declarations from '__builtin__' */

/* Module declarations from 'cpython.type' */
static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;

/* Module declarations from 'cpython' */

/* Module declarations from 'cpython.object' */

/* Module declarations from 'cpython.ref' */

/* Module declarations from 'c_message_sender' */

/* Module declarations from 'c_platform' */

/* Module declarations from 'c_sasl_mechanism' */

/* Module declarations from 'c_wsio' */

/* Module declarations from 'c_xlogging' */

/* Module declarations from 'uamqp.c_uamqp' */
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_StructBase = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cManagementOperation = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_AMQPString = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_AMQPValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_BoolValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_UByteValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_UShortValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_UIntValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_ULongValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_ByteValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_ShortValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_IntValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_LongValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_FloatValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_DoubleValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_CharValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_TimestampValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_UUIDValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_BinaryValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_StringValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_SymbolValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_ListValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_DictValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_ArrayValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_CompositeValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_DescribedValue = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cAnnotations = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cApplicationProperties = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cDeliveryAnnotations = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cMessageAnnotations = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cFields = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cFooter = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_AsyncOperation = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_TickCounter = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_CBSTokenAuth = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_Connection = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cError = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cHeader = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cLink = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cMessage = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_Messaging = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cMessageDecoder = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cMessageReceiver = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cMessageSender = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cProperties = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_SASLMechanism = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_SASLClientIOConfig = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_SASLPlainConfig = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cSession = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cSource = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_cTarget = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_TLSIOConfig = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_HTTPProxyConfig = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_WSIOConfig = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_XIO = 0;
static PyTypeObject *__pyx_ptype_5uamqp_7c_uamqp_IOInterfaceDescription = 0;
static char const *__pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_PROTOCOL_NAME;
static char const *__pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_RELATIVE_PATH;
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_data(char *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_sequence(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_management_operation(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_amqp_management_open_complete(void *, enum AMQP_MANAGEMENT_OPEN_RESULT_TAG); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_amqp_management_error(void *); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_execute_operation_complete(void *, enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG, unsigned int, char const *, MESSAGE_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_empty_string(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_string_from_value(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_create_string_from_value *__pyx_optional_args); /*proto*/
static int __pyx_f_5uamqp_7c_uamqp_encode_bytes_callback(void *, unsigned char const *, size_t); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_amqp_value_type(AMQP_VALUE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_enocde_batch_value(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_value_factory(AMQP_VALUE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_null_value(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_bool_value(int, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ubyte_value(unsigned char, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ushort_value(uint16_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_uint_value(uint32_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ulong_value(uint64_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_byte_value(char, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_short_value(int16_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_int_value(int32_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_long_value(int64_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_float_value(float, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_double_value(double, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_char_value(uint32_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_timestamp_value(int64_t, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_uuid_value(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_binary_value(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_string_value(char *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_symbol_value(char *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_list_value(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_dict_value(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_array_value(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_described_value(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_annotations_factory(AMQP_VALUE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_application_properties(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_delivery_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_fields(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_footer(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_sas_token(char const *, char const *, char const *, size_t, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_cbs_open_complete(void *, enum CBS_OPEN_COMPLETE_RESULT_TAG); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_cbs_error(void *); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_cbs_put_token_complete(void *, enum CBS_OPERATION_RESULT_TAG, unsigned int, char const *); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_connection(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, char const *, char const *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_connection_state_changed(void *, enum CONNECTION_STATE_TAG, enum CONNECTION_STATE_TAG); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_io_error(void *); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_connection_close_received(void *, ERROR_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_error(char const *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_error_factory(ERROR_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_header(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_link(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, int, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_link_detach_received(void *, ERROR_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_message_factory(MESSAGE_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message(int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(HEADER_HANDLE, AMQP_VALUE, AMQP_VALUE, PROPERTIES_HANDLE, AMQP_VALUE, AMQP_VALUE, AMQP_VALUE, AMQP_VALUE); /*proto*/
static size_t __pyx_f_5uamqp_7c_uamqp_get_encoded_message_size(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_f_5uamqp_7c_uamqp_decode_message(uint32_t, unsigned char const *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_decode_message_data(void *, AMQP_VALUE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_receiver(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_message_receiver_state_changed(void *, enum MESSAGE_RECEIVER_STATE_TAG, enum MESSAGE_RECEIVER_STATE_TAG); /*proto*/
static AMQP_VALUE __pyx_f_5uamqp_7c_uamqp_on_message_received(void *, MESSAGE_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_sender(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_message_send_complete(void *, enum MESSAGE_SEND_RESULT_TAG, AMQP_VALUE); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_on_message_sender_state_changed(void *, enum MESSAGE_SENDER_STATE_TAG, enum MESSAGE_SENDER_STATE_TAG); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_platform_init(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_platform_deinit(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_info(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_default_tlsio(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_properties(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_load_properties(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp__get_sasl_mechanism_interface(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_saslanonymous_get_interface(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_saslplain_get_interface(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_sasl_mechanism(int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_get_sasl_mechanism *__pyx_optional_args); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_plain_sasl_mechanism(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *, struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_session(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static int __pyx_f_5uamqp_7c_uamqp_on_link_attached(void *, LINK_ENDPOINT_HANDLE, char const *, role, AMQP_VALUE, AMQP_VALUE, fields); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_source(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_source_factory(SOURCE_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_target(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_target_factory(TARGET_HANDLE); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_wsioconfig(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_tlsioconfig(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_saslioconfig(struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *, int __pyx_skip_dispatch); /*proto*/
static char *__pyx_f_5uamqp_7c_uamqp_vprintf_alloc(char const *, va_list); /*proto*/
static void __pyx_f_5uamqp_7c_uamqp_custom_logging_function(enum LOG_CATEGORY_TAG, char const *, char const *, int const , unsigned int, char const *, ...); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_set_python_logger(int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp___pyx_unpickle_StructBase__set_state(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *, PyObject *); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp___pyx_unpickle_Messaging__set_state(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *, PyObject *); /*proto*/
#define __Pyx_MODULE_NAME "uamqp.c_uamqp"
extern int __pyx_module_is_main_uamqp__c_uamqp;
int __pyx_module_is_main_uamqp__c_uamqp = 0;

/* Implementation of 'uamqp.c_uamqp' */
static PyObject *__pyx_builtin_staticmethod;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_UnicodeDecodeError;
static PyObject *__pyx_builtin_KeyboardInterrupt;
static PyObject *__pyx_builtin_chr;
static PyObject *__pyx_builtin_IndexError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_KeyError;
static PyObject *__pyx_builtin_MemoryError;
static PyObject *__pyx_builtin_AttributeError;
static PyObject *__pyx_builtin_RuntimeError;
static const char __pyx_k_r[] = "%r";
static const char __pyx_k_io[] = "io";
static const char __pyx_k_END[] = "END";
static const char __pyx_k_PY3[] = "PY3";
static const char __pyx_k_chr[] = "chr";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_end[] = "end";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_key[] = "key";
static const char __pyx_k_new[] = "__new__";
static const char __pyx_k_pop[] = "pop";
static const char __pyx_k_six[] = "six";
static const char __pyx_k_Enum[] = "Enum";
static const char __pyx_k_Info[] = "Info";
static const char __pyx_k_None[] = "None";
static const char __pyx_k_UUID[] = "UUID";
static const char __pyx_k__296[] = "";
static const char __pyx_k_copy[] = "copy";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_dict[] = "__dict__";
static const char __pyx_k_enum[] = "enum";
static const char __pyx_k_file[] = "file";
static const char __pyx_k_func[] = "func";
static const char __pyx_k_info[] = "info";
static const char __pyx_k_line[] = "line";
static const char __pyx_k_link[] = "link";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_name[] = "__name__";
static const char __pyx_k_open[] = "open";
static const char __pyx_k_port[] = "port";
static const char __pyx_k_role[] = "role";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_size[] = "size";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_text[] = "text";
static const char __pyx_k_time[] = "time";
static const char __pyx_k_true[] = "true";
static const char __pyx_k_type[] = "type";
static const char __pyx_k_uuid[] = "uuid";
static const char __pyx_k_Debug[] = "Debug";
static const char __pyx_k_ERROR[] = "ERROR";
static const char __pyx_k_Error[] = "\nError: {}";
static const char __pyx_k_START[] = "START";
static const char __pyx_k_UTF_8[] = "UTF-8";
static const char __pyx_k_begin[] = "begin";
static const char __pyx_k_bytes[] = "bytes";
static const char __pyx_k_class[] = "__class__";
static const char __pyx_k_clone[] = "clone";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_debug[] = "debug";
static const char __pyx_k_false[] = "false";
static const char __pyx_k_links[] = "_links";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_scope[] = "scope";
static const char __pyx_k_token[] = "token";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_APACHE[] = "APACHE";
static const char __pyx_k_OPENED[] = "OPENED";
static const char __pyx_k_append[] = "append";
static const char __pyx_k_cancel[] = "cancel";
static const char __pyx_k_create[] = "create";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_encode[] = "encode";
static const char __pyx_k_expiry[] = "expiry";
static const char __pyx_k_format[] = "format";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_logger[] = "_logger";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_name_2[] = "name";
static const char __pyx_k_passwd[] = "passwd";
static const char __pyx_k_pickle[] = "pickle";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_result[] = "result";
static const char __pyx_k_source[] = "source";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_type_2[] = "_type";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_Error_2[] = "Error";
static const char __pyx_k_OC_PIPE[] = "OC_PIPE";
static const char __pyx_k_UNKNOWN[] = "UNKNOWN";
static const char __pyx_k_address[] = "address";
static const char __pyx_k_authcid[] = "authcid";
static const char __pyx_k_authzid[] = "authzid";
static const char __pyx_k_c_value[] = "_c_value";
static const char __pyx_k_destroy[] = "destroy";
static const char __pyx_k_do_work[] = "do_work";
static const char __pyx_k_execute[] = "execute";
static const char __pyx_k_io_desc[] = "io_desc";
static const char __pyx_k_keyname[] = "keyname";
static const char __pyx_k_locales[] = "locales";
static const char __pyx_k_logging[] = "logging";
static const char __pyx_k_message[] = "message";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_r_r_r_r[] = "%r (%r:%r:%r)";
static const char __pyx_k_refresh[] = "refresh";
static const char __pyx_k_session[] = "session";
static const char __pyx_k_timeout[] = "timeout";
static const char __pyx_k_value_2[] = "_value";
static const char __pyx_k_warning[] = "warning";
static const char __pyx_k_AMQPType[] = "AMQPType";
static const char __pyx_k_DataType[] = "DataType";
static const char __pyx_k_HDR_EXCH[] = "HDR_EXCH";
static const char __pyx_k_HDR_RCVD[] = "HDR_RCVD";
static const char __pyx_k_HDR_SENT[] = "HDR_SENT";
static const char __pyx_k_IntValue[] = "IntValue";
static const char __pyx_k_KeyError[] = "KeyError";
static const char __pyx_k_NoneType[] = "NoneType";
static const char __pyx_k_audience[] = "audience";
static const char __pyx_k_category[] = "category";
static const char __pyx_k_deepcopy[] = "deepcopy";
static const char __pyx_k_encoding[] = "encoding";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_hostname[] = "hostname";
static const char __pyx_k_io_error[] = "_io_error";
static const char __pyx_k_log_line[] = "log_line";
static const char __pyx_k_password[] = "password";
static const char __pyx_k_protocol[] = "protocol";
static const char __pyx_k_pyx_type[] = "__pyx_type";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_username[] = "username";
static const char __pyx_k_BoolValue[] = "BoolValue";
static const char __pyx_k_ByteValue[] = "ByteValue";
static const char __pyx_k_CharValue[] = "CharValue";
static const char __pyx_k_DictValue[] = "DictValue";
static const char __pyx_k_ErrorCode[] = "\nErrorCode: {}";
static const char __pyx_k_ErrorType[] = "ErrorType";
static const char __pyx_k_ListValue[] = "ListValue";
static const char __pyx_k_LongValue[] = "LongValue";
static const char __pyx_k_NullValue[] = "NullValue";
static const char __pyx_k_OPEN_PIPE[] = "OPEN_PIPE";
static const char __pyx_k_OPEN_RCVD[] = "OPEN_RCVD";
static const char __pyx_k_OPEN_SENT[] = "OPEN_SENT";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_UIntValue[] = "UIntValue";
static const char __pyx_k_UUIDValue[] = "UUIDValue";
static const char __pyx_k_ValueType[] = "ValueType";
static const char __pyx_k_as_string[] = "_as_string";
static const char __pyx_k_cbs_error[] = "_cbs_error";
static const char __pyx_k_getLogger[] = "getLogger";
static const char __pyx_k_interface[] = "interface";
static const char __pyx_k_io_config[] = "io_config";
static const char __pyx_k_list_size[] = "list_size";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_operation[] = "operation";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_set_trace[] = "set_trace";
static const char __pyx_k_text_bldr[] = "text_bldr";
static const char __pyx_k_text_type[] = "text_type";
static const char __pyx_k_AMQPS_PORT[] = "AMQPS_PORT";
static const char __pyx_k_ArrayValue[] = "ArrayValue";
static const char __pyx_k_CLOSE_PIPE[] = "CLOSE_PIPE";
static const char __pyx_k_CLOSE_RCVD[] = "CLOSE_RCVD";
static const char __pyx_k_CLOSE_SENT[] = "CLOSE_SENT";
static const char __pyx_k_DISCARDING[] = "DISCARDING";
static const char __pyx_k_FloatValue[] = "FloatValue";
static const char __pyx_k_IndexError[] = "IndexError";
static const char __pyx_k_ShortValue[] = "ShortValue";
static const char __pyx_k_UByteValue[] = "UByteValue";
static const char __pyx_k_ULongValue[] = "ULongValue";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_apache_org[] = "apache.org";
static const char __pyx_k_bool_value[] = "_bool_value";
static const char __pyx_k_connection[] = "connection";
static const char __pyx_k_descriptor[] = "descriptor";
static const char __pyx_k_error_code[] = "error_code";
static const char __pyx_k_error_info[] = "error_info";
static const char __pyx_k_expires_at[] = "expires_at";
static const char __pyx_k_get_status[] = "get_status";
static const char __pyx_k_null_error[] = "_null_error";
static const char __pyx_k_parameters[] = "parameters";
static const char __pyx_k_proxy_port[] = "proxy_port";
static const char __pyx_k_python_log[] = "_python_log";
static const char __pyx_k_pyx_result[] = "__pyx_result";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_set_option[] = "set_option";
static const char __pyx_k_token_type[] = "token_type";
static const char __pyx_k_BinaryValue[] = "BinaryValue";
static const char __pyx_k_DoubleValue[] = "DoubleValue";
static const char __pyx_k_LogCategory[] = "LogCategory";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_PickleError[] = "PickleError";
static const char __pyx_k_ROLE_SENDER[] = "ROLE_SENDER";
static const char __pyx_k_StringValue[] = "StringValue";
static const char __pyx_k_SymbolValue[] = "SymbolValue";
static const char __pyx_k_UShortValue[] = "UShortValue";
static const char __pyx_k_UnknownType[] = "UnknownType";
static const char __pyx_k_annotations[] = "annotations";
static const char __pyx_k_binary_type[] = "binary_type";
static const char __pyx_k_description[] = "description";
static const char __pyx_k_option_name[] = "option_name";
static const char __pyx_k_sasl_client[] = "sasl_client";
static const char __pyx_k_status_code[] = "status_code";
static const char __pyx_k_value_error[] = "_value_error";
static const char __pyx_k_DEFAULT_PORT[] = "DEFAULT_PORT";
static const char __pyx_k_Destroying_r[] = "Destroying %r";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_SequenceType[] = "SequenceType";
static const char __pyx_k_authenticate[] = "authenticate";
static const char __pyx_k_container_id[] = "container_id";
static const char __pyx_k_encoded_data[] = "encoded_data";
static const char __pyx_k_memory_error[] = "_memory_error";
static const char __pyx_k_message_body[] = "message_body";
static const char __pyx_k_on_cbs_error[] = "on_cbs_error";
static const char __pyx_k_payload_size[] = "payload_size";
static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
static const char __pyx_k_staticmethod[] = "staticmethod";
static const char __pyx_k_stringsource[] = "stringsource";
static const char __pyx_k_AMQP_WSS_PORT[] = "AMQP_WSS_PORT";
static const char __pyx_k_CompositeType[] = "CompositeType";
static const char __pyx_k_DescribedType[] = "DescribedType";
static const char __pyx_k_ROLE_RECEIVER[] = "ROLE_RECEIVER";
static const char __pyx_k_add_body_data[] = "add_body_data";
static const char __pyx_k_connection_id[] = "connection_id";
static const char __pyx_k_create_source[] = "create_source";
static const char __pyx_k_create_target[] = "create_target";
static const char __pyx_k_error_message[] = "error_message";
static const char __pyx_k_get_body_data[] = "get_body_data";
static const char __pyx_k_payload_bytes[] = "payload_bytes";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_refresh_token[] = "refresh_token";
static const char __pyx_k_resource_name[] = "resource_name";
static const char __pyx_k_state_changed[] = "_state_changed";
static const char __pyx_k_uamqp_c_uamqp[] = "uamqp.c_uamqp";
static const char __pyx_k_underlying_io[] = "underlying_io";
static const char __pyx_k_update_status[] = "_update_status";
static const char __pyx_k_AUTH_STATUS_OK[] = "AUTH_STATUS_OK";
static const char __pyx_k_AttributeError[] = "AttributeError";
static const char __pyx_k_Deallocating_r[] = "Deallocating %r";
static const char __pyx_k_Destroying_XIO[] = "Destroying XIO";
static const char __pyx_k_TimestampValue[] = "TimestampValue";
static const char __pyx_k_amqp_not_found[] = "amqp:not-found";
static const char __pyx_k_close_received[] = "_close_received";
static const char __pyx_k_delivery_state[] = "delivery_state";
static const char __pyx_k_get_body_value[] = "get_body_value";
static const char __pyx_k_get_current_ms[] = "get_current_ms";
static const char __pyx_k_message_number[] = "message_number";
static const char __pyx_k_proxy_hostname[] = "proxy_hostname";
static const char __pyx_k_sasl_mechanism[] = "sasl_mechanism";
static const char __pyx_k_section_number[] = "section_number";
static const char __pyx_k_section_offset[] = "section_offset";
static const char __pyx_k_set_body_value[] = "set_body_value";
static const char __pyx_k_ConnectionState[] = "ConnectionState";
static const char __pyx_k_DEFAULT_WS_PORT[] = "DEFAULT_WS_PORT";
static const char __pyx_k_MESSAGE_SEND_OK[] = "MESSAGE_SEND_OK";
static const char __pyx_k_MessageBodyType[] = "MessageBodyType";
static const char __pyx_k_attach_received[] = "_attach_received";
static const char __pyx_k_condition_value[] = "condition_value";
static const char __pyx_k_count_body_data[] = "count_body_data";
static const char __pyx_k_delivery_failed[] = "delivery_failed";
static const char __pyx_k_delivery_fields[] = "delivery_fields";
static const char __pyx_k_detach_received[] = "_detach_received";
static const char __pyx_k_error_condition[] = "error_condition";
static const char __pyx_k_management_node[] = "management_node";
static const char __pyx_k_on_message_sent[] = "_on_message_sent";
static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_src_message_pyx[] = "./src/message.pyx";
static const char __pyx_k_AUTH_STATUS_IDLE[] = "AUTH_STATUS_IDLE";
static const char __pyx_k_Could_not_set_to[] = "Could not set 'to'.";
static const char __pyx_k_Deallocating_XIO[] = "Deallocating XIO";
static const char __pyx_k_Destroying_cLink[] = "Destroying cLink";
static const char __pyx_k_Operation_failed[] = "Operation failed.";
static const char __pyx_k_amqp_link_stolen[] = "amqp:link:stolen";
static const char __pyx_k_amqp_not_allowed[] = "amqp:not-allowed";
static const char __pyx_k_callback_context[] = "callback_context";
static const char __pyx_k_get_encoded_size[] = "get_encoded_size";
static const char __pyx_k_get_failure_info[] = "get_failure_info";
static const char __pyx_k_message_received[] = "_message_received";
static const char __pyx_k_set_certificates[] = "set_certificates";
static const char __pyx_k_set_proxy_config[] = "set_proxy_config";
static const char __pyx_k_set_tlsio_config[] = "set_tlsio_config";
static const char __pyx_k_src_xlogging_pyx[] = "./src/xlogging.pyx";
static const char __pyx_k_AUTH_REFRESH_SECS[] = "AUTH_REFRESH_SECS";
static const char __pyx_k_AUTH_STATUS_ERROR[] = "AUTH_STATUS_ERROR";
static const char __pyx_k_Destroying_cError[] = "Destroying cError";
static const char __pyx_k_IO_OPEN_RESULT_OK[] = "IO_OPEN_RESULT_OK";
static const char __pyx_k_IO_SEND_RESULT_OK[] = "IO_SEND_RESULT_OK";
static const char __pyx_k_KeyboardInterrupt[] = "KeyboardInterrupt";
static const char __pyx_k_LINK_ERROR_STOLEN[] = "LINK_ERROR_STOLEN";
static const char __pyx_k_Token_has_expired[] = "Token has expired";
static const char __pyx_k_add_body_sequence[] = "add_body_sequence";
static const char __pyx_k_amqp_decode_error[] = "amqp:decode-error";
static const char __pyx_k_cbs_open_complete[] = "_cbs_open_complete";
static const char __pyx_k_delivery_accepted[] = "delivery_accepted";
static const char __pyx_k_delivery_modified[] = "delivery_modified";
static const char __pyx_k_delivery_received[] = "delivery_received";
static const char __pyx_k_delivery_rejected[] = "delivery_rejected";
static const char __pyx_k_delivery_released[] = "delivery_released";
static const char __pyx_k_error_description[] = "error_description";
static const char __pyx_k_get_body_sequence[] = "get_body_sequence";
static const char __pyx_k_Deallocating_cLink[] = "Deallocating cLink";
static const char __pyx_k_Destroying_cHeader[] = "Destroying cHeader";
static const char __pyx_k_Destroying_cSource[] = "Destroying cSource";
static const char __pyx_k_Destroying_cTarget[] = "Destroying cTarget";
static const char __pyx_k_MESSAGE_SEND_ERROR[] = "MESSAGE_SEND_ERROR";
static const char __pyx_k_UnicodeDecodeError[] = "UnicodeDecodeError";
static const char __pyx_k_amqp_illegal_state[] = "amqp:illegal-state";
static const char __pyx_k_amqp_invalid_field[] = "amqp:invalid-field";
static const char __pyx_k_amqp_link_redirect[] = "amqp:link:redirect";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_set_prefetch_count[] = "set_prefetch_count";
static const char __pyx_k_status_description[] = "status_description";
static const char __pyx_k_undeliverable_here[] = "undeliverable_here";
static const char __pyx_k_AUTH_STATUS_EXPIRED[] = "AUTH_STATUS_EXPIRED";
static const char __pyx_k_AUTH_STATUS_FAILURE[] = "AUTH_STATUS_FAILURE";
static const char __pyx_k_AUTH_STATUS_TIMEOUT[] = "AUTH_STATUS_TIMEOUT";
static const char __pyx_k_Cannot_decode_bytes[] = "Cannot decode bytes";
static const char __pyx_k_Deallocating_cError[] = "Deallocating cError";
static const char __pyx_k_Destroying_cMessage[] = "Destroying cMessage";
static const char __pyx_k_Destroying_cSession[] = "Destroying cSession";
static const char __pyx_k_LINK_ERROR_REDIRECT[] = "LINK_ERROR_REDIRECT";
static const char __pyx_k_amqp_internal_error[] = "amqp:internal-error";
static const char __pyx_k_count_body_sequence[] = "count_body_sequence";
static const char __pyx_k_message_annotations[] = "message_annotations";
static const char __pyx_k_AMQP_ERROR_NOT_FOUND[] = "AMQP_ERROR_NOT_FOUND";
static const char __pyx_k_AUTH_EXPIRATION_SECS[] = "AUTH_EXPIRATION_SECS";
static const char __pyx_k_CBS_OPEN_COMPLETE_OK[] = "CBS_OPEN_COMPLETE_OK";
static const char __pyx_k_Couldn_t_set_durable[] = "Couldn't set 'durable'.";
static const char __pyx_k_Deallocating_cHeader[] = "Deallocating cHeader";
static const char __pyx_k_Deallocating_cSource[] = "Deallocating cSource";
static const char __pyx_k_Deallocating_cTarget[] = "Deallocating cTarget";
static const char __pyx_k_Failed_to_set_option[] = "Failed to set option {}";
static const char __pyx_k_IO_OPEN_RESULT_ERROR[] = "IO_OPEN_RESULT_ERROR";
static const char __pyx_k_IO_SEND_RESULT_ERROR[] = "IO_SEND_RESULT_ERROR";
static const char __pyx_k_MAX_FRAME_SIZE_BYTES[] = "MAX_FRAME_SIZE_BYTES";
static const char __pyx_k_MESSAGE_SEND_TIMEOUT[] = "MESSAGE_SEND_TIMEOUT";
static const char __pyx_k_amqp_not_implemented[] = "amqp:not-implemented";
static const char __pyx_k_amqp_resource_locked[] = "amqp:resource-locked";
static const char __pyx_k_on_cbs_open_complete[] = "on_cbs_open_complete";
static const char __pyx_k_Could_not_set_subject[] = "Could not set 'subject'.";
static const char __pyx_k_Could_not_set_user_id[] = "Could not set 'user_id'.";
static const char __pyx_k_Couldn_t_set_priority[] = "Couldn't set 'priority'.";
static const char __pyx_k_Deallocating_cMessage[] = "Deallocating cMessage";
static const char __pyx_k_Deallocating_cSession[] = "Deallocating cSession";
static const char __pyx_k_Destroying_AMQPString[] = "Destroying AMQPString";
static const char __pyx_k_Destroying_Connection[] = "Destroying Connection";
static const char __pyx_k_Index_is_out_of_range[] = "Index is out of range.";
static const char __pyx_k_Management_link_error[] = "Management link error";
static const char __pyx_k_Unrecognized_AMQPType[] = "Unrecognized AMQPType: {}";
static const char __pyx_k_Wrapping_value_type_r[] = "Wrapping value type: %r";
static const char __pyx_k_amqp_resource_deleted[] = "amqp:resource-deleted";
static const char __pyx_k_delivery_modified_r_r[] = "delivery modified: %r %r";
static const char __pyx_k_set_attach_properties[] = "set_attach_properties";
static const char __pyx_k_AMQP_ERROR_NOT_ALLOWED[] = "AMQP_ERROR_NOT_ALLOWED";
static const char __pyx_k_Could_not_set_group_id[] = "Could not set 'group_id'.";
static const char __pyx_k_Could_not_set_reply_to[] = "Could not set 'reply_to'.";
static const char __pyx_k_Destroying_cProperties[] = "Destroying cProperties";
static const char __pyx_k_MESSAGE_SEND_CANCELLED[] = "MESSAGE_SEND_CANCELLED";
static const char __pyx_k_Management_link_open_r[] = "Management link open: %r";
static const char __pyx_k_NULL_error_occurred_in[] = "NULL error occurred in {}.";
static const char __pyx_k_No_item_found_at_index[] = "No item found at index {}";
static const char __pyx_k_No_value_found_for_key[] = "No value found for key: {}";
static const char __pyx_k_amqp_connection_forced[] = "amqp:connection:forced";
static const char __pyx_k_pyx_unpickle_Messaging[] = "__pyx_unpickle_Messaging";
static const char __pyx_k_AMQP_ERROR_DECODE_ERROR[] = "AMQP_ERROR_DECODE_ERROR";
static const char __pyx_k_AMQP_MANAGEMENT_OPEN_OK[] = "AMQP_MANAGEMENT_OPEN_OK";
static const char __pyx_k_AUTH_STATUS_IN_PROGRESS[] = "AUTH_STATUS_IN_PROGRESS";
static const char __pyx_k_Body_data_count_is_zero[] = "Body data count is zero";
static const char __pyx_k_CBS_OPEN_COMPLETE_ERROR[] = "CBS_OPEN_COMPLETE_ERROR";
static const char __pyx_k_CBS_OPERATION_RESULT_OK[] = "CBS_OPERATION_RESULT_OK";
static const char __pyx_k_Creating_SASL_Mechanism[] = "Creating SASL Mechanism";
static const char __pyx_k_Deallocating_AMQPString[] = "Deallocating AMQPString";
static const char __pyx_k_Deallocating_Connection[] = "Deallocating Connection";
static const char __pyx_k_Deinitializing_platform[] = "Deinitializing platform";
static const char __pyx_k_Failed_to_append_string[] = "Failed to append string.";
static const char __pyx_k_Failed_to_create_source[] = "Failed to create source.";
static const char __pyx_k_Failed_to_create_target[] = "Failed to create target.";
static const char __pyx_k_Unable_to_open_CBS_link[] = "Unable to open CBS link.";
static const char __pyx_k_amqp_link_detach_forced[] = "amqp:link:detach-forced";
static const char __pyx_k_cbs_put_token_compelete[] = "_cbs_put_token_compelete";
static const char __pyx_k_pyx_unpickle_StructBase[] = "__pyx_unpickle_StructBase";
static const char __pyx_k_settle_accepted_message[] = "settle_accepted_message";
static const char __pyx_k_settle_modified_message[] = "settle_modified_message";
static const char __pyx_k_settle_rejected_message[] = "settle_rejected_message";
static const char __pyx_k_settle_released_message[] = "settle_released_message";
static const char __pyx_k_underlying_io_interface[] = "underlying_io_interface";
static const char __pyx_k_AMQP_ERROR_ILLEGAL_STATE[] = "AMQP_ERROR_ILLEGAL_STATE";
static const char __pyx_k_AMQP_ERROR_INVALID_FIELD[] = "AMQP_ERROR_INVALID_FIELD";
static const char __pyx_k_Could_not_set_message_id[] = "Could not set 'message_id'.";
static const char __pyx_k_Deallocating_cProperties[] = "Deallocating cProperties";
static const char __pyx_k_Destroying_SASLMechanism[] = "Destroying SASLMechanism";
static const char __pyx_k_IO_OPEN_RESULT_CANCELLED[] = "IO_OPEN_RESULT_CANCELLED";
static const char __pyx_k_IO_SEND_RESULT_CANCELLED[] = "IO_SEND_RESULT_CANCELLED";
static const char __pyx_k_LINK_ERROR_DETACH_FORCED[] = "LINK_ERROR_DETACH_FORCED";
static const char __pyx_k_MAX_MESSAGE_LENGTH_BYTES[] = "MAX_MESSAGE_LENGTH_BYTES";
static const char __pyx_k_MAX_PARTITION_KEY_LENGTH[] = "MAX_PARTITION_KEY_LENGTH";
static const char __pyx_k_Put_Token_request_failed[] = "Put-Token request failed.";
static const char __pyx_k_SENDER_SETTLE_MODE_MIXED[] = "SENDER_SETTLE_MODE_MIXED";
static const char __pyx_k_Unable_to_close_CBS_link[] = "Unable to close CBS link.";
static const char __pyx_k_amqp_connection_redirect[] = "amqp:connection:redirect";
static const char __pyx_k_amqp_precondition_failed[] = "amqp:precondition-failed";
static const char __pyx_k_amqp_session_errant_link[] = "amqp:session:errant-link";
static const char __pyx_k_amqp_unauthorized_access[] = "amqp:unauthorized-access";
static const char __pyx_k_check_put_timeout_status[] = "_check_put_timeout_status";
static const char __pyx_k_management_open_complete[] = "_management_open_complete";
static const char __pyx_k_on_link_attached_context[] = "on_link_attached_context";
static const char __pyx_k_set_desired_capabilities[] = "set_desired_capabilities";
static const char __pyx_k_set_response_field_names[] = "set_response_field_names";
static const char __pyx_k_subscribe_to_close_event[] = "subscribe_to_close_event";
static const char __pyx_k_underlying_io_parameters[] = "underlying_io_parameters";
static const char __pyx_k_AMQP_BATCH_MESSAGE_FORMAT[] = "AMQP_BATCH_MESSAGE_FORMAT";
static const char __pyx_k_AMQP_ERROR_INTERNAL_ERROR[] = "AMQP_ERROR_INTERNAL_ERROR";
static const char __pyx_k_CONNECTION_ERROR_REDIRECT[] = "CONNECTION_ERROR_REDIRECT";
static const char __pyx_k_Cannot_get_body_AMQP_data[] = "Cannot get body AMQP data {}";
static const char __pyx_k_Could_not_set_create_time[] = "Could not set 'create_time'.";
static const char __pyx_k_Couldn_t_set_time_to_live[] = "Couldn't set 'time_to_live'.";
static const char __pyx_k_Deallocating_CBSTokenAuth[] = "Deallocating CBSTokenAuth";
static const char __pyx_k_Destroying_AsyncOperation[] = "Destroying AsyncOperation";
static const char __pyx_k_Destroying_cMessageSender[] = "Destroying cMessageSender";
static const char __pyx_k_MESSAGE_SENDER_STATE_IDLE[] = "MESSAGE_SENDER_STATE_IDLE";
static const char __pyx_k_MESSAGE_SENDER_STATE_OPEN[] = "MESSAGE_SENDER_STATE_OPEN";
static const char __pyx_k_SESSION_ERROR_ERRANT_LINK[] = "SESSION_ERROR_ERRANT_LINK";
static const char __pyx_k_Unable_to_set_debug_trace[] = "Unable to set debug trace.";
static const char __pyx_k_Unable_to_set_link_credit[] = "Unable to set link credit.";
static const char __pyx_k_amqp_frame_size_too_small[] = "amqp:frame-size-too-small";
static const char __pyx_k_on_cbs_put_token_complete[] = "on_cbs_put_token_complete";
static const char __pyx_k_subscribe_to_detach_event[] = "subscribe_to_detach_event";
static const char __pyx_k_AMQP_ERROR_NOT_IMPLEMENTED[] = "AMQP_ERROR_NOT_IMPLEMENTED";
static const char __pyx_k_AMQP_ERROR_RESOURCE_LOCKED[] = "AMQP_ERROR_RESOURCE_LOCKED";
static const char __pyx_k_AMQP_MANAGEMENT_OPEN_ERROR[] = "AMQP_MANAGEMENT_OPEN_ERROR";
static const char __pyx_k_Cannot_encode_header_value[] = "Cannot encode header value";
static const char __pyx_k_Cannot_get_cMessage_header[] = "Cannot get cMessage header.";
static const char __pyx_k_Could_not_set_content_type[] = "Could not set 'content_type'.";
static const char __pyx_k_Deallocating_SASLMechanism[] = "Deallocating SASLMechanism";
static const char __pyx_k_Failed_to_create_SAS_token[] = "Failed to create SAS token.";
static const char __pyx_k_Failed_to_get_encoded_size[] = "Failed to get encoded size.";
static const char __pyx_k_Failed_to_set_certificates[] = "Failed to set certificates";
static const char __pyx_k_MESSAGE_SENDER_STATE_ERROR[] = "MESSAGE_SENDER_STATE_ERROR";
static const char __pyx_k_SENDER_SETTLE_MODE_SETTLED[] = "SENDER_SETTLE_MODE_SETTLED";
static const char __pyx_k_amqp_session_handle_in_use[] = "amqp:session:handle-in-use";
static const char __pyx_k_management_operation_error[] = "_management_operation_error";
static const char __pyx_k_unsubscribe_to_close_event[] = "unsubscribe_to_close_event";
static const char __pyx_k_AMQP_ERROR_RESOURCE_DELETED[] = "AMQP_ERROR_RESOURCE_DELETED";
static const char __pyx_k_CBS_OPEN_COMPLETE_CANCELLED[] = "CBS_OPEN_COMPLETE_CANCELLED";
static const char __pyx_k_Couldn_t_set_delivery_count[] = "Couldn't set 'delivery_count'.";
static const char __pyx_k_Couldn_t_set_first_acquirer[] = "Couldn't set 'first_acquirer'.";
static const char __pyx_k_Deallocating_cMessageSender[] = "Deallocating cMessageSender";
static const char __pyx_k_Destroying_cMessageReceiver[] = "Destroying cMessageReceiver";
static const char __pyx_k_Generated_invalid_SAS_token[] = "Generated invalid SAS token";
static const char __pyx_k_MESSAGE_RECEIVER_STATE_IDLE[] = "MESSAGE_RECEIVER_STATE_IDLE";
static const char __pyx_k_MESSAGE_RECEIVER_STATE_OPEN[] = "MESSAGE_RECEIVER_STATE_OPEN";
static const char __pyx_k_SESSION_ERROR_HANDLE_IN_USE[] = "SESSION_ERROR_HANDLE_IN_USE";
static const char __pyx_k_Unable_to_create_CBS_Handle[] = "Unable to create CBS Handle.";
static const char __pyx_k_unsubscribe_to_detach_event[] = "unsubscribe_to_detach_event";
static const char __pyx_k_AUTH_STATUS_REFRESH_REQUIRED[] = "AUTH_STATUS_REFRESH_REQUIRED";
static const char __pyx_k_Cannot_create_body_AMQP_data[] = "Cannot create body AMQP data";
static const char __pyx_k_Could_not_set_correlation_id[] = "Could not set 'correlation_id'.";
static const char __pyx_k_Could_not_set_group_Sequence[] = "Could not set 'group_Sequence'.";
static const char __pyx_k_Deallocating_cMessageDecoder[] = "Deallocating cMessageDecoder";
static const char __pyx_k_Failed_to_get_source_address[] = "Failed to get source address";
static const char __pyx_k_Failed_to_get_source_durable[] = "Failed to get source durable";
static const char __pyx_k_Failed_to_get_source_dynamic[] = "Failed to get source dynamic";
static const char __pyx_k_Failed_to_get_source_timeout[] = "Failed to get source timeout";
static const char __pyx_k_Failed_to_get_target_address[] = "Failed to get target address";
static const char __pyx_k_Failed_to_get_target_durable[] = "Failed to get target durable";
static const char __pyx_k_Failed_to_get_target_dynamic[] = "Failed to get target dynamic";
static const char __pyx_k_Failed_to_get_target_timeout[] = "Failed to get target timeout";
static const char __pyx_k_Failed_to_set_source_address[] = "Failed to set source address";
static const char __pyx_k_Failed_to_set_source_durable[] = "Failed to set source durable";
static const char __pyx_k_Failed_to_set_source_dynamic[] = "Failed to set source dynamic";
static const char __pyx_k_Failed_to_set_source_timeout[] = "Failed to set source timeout";
static const char __pyx_k_Failed_to_set_target_address[] = "Failed to set target address";
static const char __pyx_k_Failed_to_set_target_durable[] = "Failed to set target durable";
static const char __pyx_k_Failed_to_set_target_dynamic[] = "Failed to set target dynamic";
static const char __pyx_k_Failed_to_set_target_timeout[] = "Failed to set target timeout";
static const char __pyx_k_MESSAGE_RECEIVER_STATE_ERROR[] = "MESSAGE_RECEIVER_STATE_ERROR";
static const char __pyx_k_MESSAGE_SENDER_STATE_CLOSING[] = "MESSAGE_SENDER_STATE_CLOSING";
static const char __pyx_k_MESSAGE_SENDER_STATE_OPENING[] = "MESSAGE_SENDER_STATE_OPENING";
static const char __pyx_k_SENDER_SETTLE_MODE_UNSETTLED[] = "SENDER_SETTLE_MODE_UNSETTLED";
static const char __pyx_k_amqp_resource_limit_exceeded[] = "amqp:resource-limit-exceeded";
static const char __pyx_k_last_received_message_number[] = "last_received_message_number";
static const char __pyx_k_Cannot_create_body_AMQP_value[] = "Cannot create body AMQP value";
static const char __pyx_k_Cannot_encode_body_AMQP_value[] = "Cannot encode body AMQP value";
static const char __pyx_k_Deallocating_cMessageReceiver[] = "Deallocating cMessageReceiver";
static const char __pyx_k_Failed_to_create_tick_counter[] = "Failed to create tick counter.";
static const char __pyx_k_Failed_to_get_current_ms_time[] = "Failed to get current ms time.";
static const char __pyx_k_Failed_to_initialize_platform[] = "Failed to initialize platform.";
static const char __pyx_k_Input_value_must_be_type_UUID[] = "Input value must be type UUID.";
static const char __pyx_k_RECEIVER_SETTLE_MODE_PEEKLOCK[] = "RECEIVER_SETTLE_MODE_PEEKLOCK";
static const char __pyx_k_Send_operation_result_is_NULL[] = "Send operation result is NULL";
static const char __pyx_k_Unable_to_create_payload_data[] = "Unable to create payload data";
static const char __pyx_k_amqp_connection_framing_error[] = "amqp:connection:framing-error";
static const char __pyx_k_amqp_session_window_violation[] = "amqp:session:window-violation";
static const char __pyx_k_AMQP_ERROR_PRECONDITION_FAILED[] = "AMQP_ERROR_PRECONDITION_FAILED";
static const char __pyx_k_AMQP_ERROR_UNAUTHORIZED_ACCESS[] = "AMQP_ERROR_UNAUTHORIZED_ACCESS";
static const char __pyx_k_AMQP_MANAGEMENT_OPEN_CANCELLED[] = "AMQP_MANAGEMENT_OPEN_CANCELLED";
static const char __pyx_k_CBS_OPERATION_RESULT_CBS_ERROR[] = "CBS_OPERATION_RESULT_CBS_ERROR";
static const char __pyx_k_CONNECTION_ERROR_FRAMING_ERROR[] = "CONNECTION_ERROR_FRAMING_ERROR";
static const char __pyx_k_Cannot_get_cMessage_properties[] = "Cannot get cMessage properties.";
static const char __pyx_k_Could_not_set_content_encoding[] = "Could not set 'content_encoding'.";
static const char __pyx_k_MESSAGE_RECEIVER_STATE_CLOSING[] = "MESSAGE_RECEIVER_STATE_CLOSING";
static const char __pyx_k_MESSAGE_RECEIVER_STATE_OPENING[] = "MESSAGE_RECEIVER_STATE_OPENING";
static const char __pyx_k_SESSION_ERROR_WINDOW_VIOLATION[] = "SESSION_ERROR_WINDOW_VIOLATION";
static const char __pyx_k_Unable_to_open_management_link[] = "Unable to open management link.";
static const char __pyx_k_UnderLying_IO_must_not_be_NULL[] = "UnderLying IO must not be NULL";
static const char __pyx_k_amqp_session_unattached_handle[] = "amqp:session:unattached-handle";
static const char __pyx_k_AMQP_ERROR_FRAME_SIZE_TOO_SMALL[] = "AMQP_ERROR_FRAME_SIZE_TOO_SMALL";
static const char __pyx_k_Can_t_call_on_cbs_open_complete[] = "Can't call on_cbs_open_complete during garbage collection.";
static const char __pyx_k_Cannot_create_header_AMQP_value[] = "Cannot create header AMQP value";
static const char __pyx_k_Cannot_get_body_AMQP_data_count[] = "Cannot get body AMQP data count";
static const char __pyx_k_Cannot_get_cMessage_application[] = "Cannot get cMessage application properties.";
static const char __pyx_k_Could_not_set_reply_to_group_id[] = "Could not set 'reply_to_group_id'.";
static const char __pyx_k_Destroying_cManagementOperation[] = "Destroying cManagementOperation";
static const char __pyx_k_Failed_to_create_SASL_Anonymous[] = "Failed to create SASL Anonymous Interface description";
static const char __pyx_k_Failed_to_create_SASL_Client_IO[] = "Failed to create SASL Client IO Interface description";
static const char __pyx_k_Failed_to_get_source_filter_set[] = "Failed to get source filter_set";
static const char __pyx_k_Failed_to_set_source_filter_set[] = "Failed to set source filter_set";
static const char __pyx_k_Failed_to_set_status_code_field[] = "Failed to set status code field name.";
static const char __pyx_k_Management_op_complete_r_status[] = "Management op complete: %r, status code: %r, description: %r";
static const char __pyx_k_SASL_Mechanism_must_not_be_NULL[] = "SASL Mechanism must not be NULL";
static const char __pyx_k_SESSION_ERROR_UNATTACHED_HANDLE[] = "SESSION_ERROR_UNATTACHED_HANDLE";
static const char __pyx_k_Unable_to_close_management_link[] = "Unable to close management link.";
static const char __pyx_k_Unable_to_register_DETACH_event[] = "Unable to register DETACH event handler.";
static const char __pyx_k_amqp_link_message_size_exceeded[] = "amqp:link:message-size-exceeded";
static const char __pyx_k_check_expiration_and_refresh_st[] = "_check_expiration_and_refresh_status";
static const char __pyx_k_AMQP_ERROR_RESOURCE_LIMIT_EXCEED[] = "AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED";
static const char __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO[] = "AMQP_MANAGEMENT_EXECUTE_OPERATION_OK";
static const char __pyx_k_ATTACH_frame_Source_and_or_Targe[] = "ATTACH frame Source and/or Target is NULL";
static const char __pyx_k_CBS_OPERATION_RESULT_INSTANCE_CL[] = "CBS_OPERATION_RESULT_INSTANCE_CLOSED";
static const char __pyx_k_CBS_OPERATION_RESULT_OPERATION_F[] = "CBS_OPERATION_RESULT_OPERATION_FAILED";
static const char __pyx_k_CBS_error_occurred_on_connection[] = "CBS error occurred on connection %r.";
static const char __pyx_k_CBS_for_connection_r_completed_o[] = "CBS for connection %r completed opening with status: %r";
static const char __pyx_k_CONNECTION_ERROR_CONNECTION_FORC[] = "CONNECTION_ERROR_CONNECTION_FORCED";
static const char __pyx_k_Can_t_call__message_received_dur[] = "Can't call _message_received during garbage collection";
static const char __pyx_k_Can_t_call__on_message_sent_duri[] = "Can't call _on_message_sent during garbage collection";
static const char __pyx_k_Can_t_call_on_cbs_error_during_g[] = "Can't call on_cbs_error during garbage collection.";
static const char __pyx_k_Can_t_call_on_cbs_put_token_comp[] = "Can't call on_cbs_put_token_complete during garbage collection.";
static const char __pyx_k_Can_t_call_on_connection_state_c[] = "Can't call on_connection_state_changed during garbage collection";
static const char __pyx_k_Can_t_call_on_state_changed_duri[] = "Can't call on_state_changed during garbage collection, please be sure to close or use a context manager";
static const char __pyx_k_Cannot_create_AMQP_value_decoder[] = "Cannot create AMQP value decoder";
static const char __pyx_k_Cannot_create_application_proper[] = "Cannot create application properties AMQP value";
static const char __pyx_k_Cannot_create_properties_AMQP_va[] = "Cannot create properties AMQP value";
static const char __pyx_k_Cannot_encode_application_proper[] = "Cannot encode application properties value";
static const char __pyx_k_Cannot_encode_message_annotation[] = "Cannot encode message annotations value";
static const char __pyx_k_Cannot_encode_message_properties[] = "Cannot encode message properties value";
static const char __pyx_k_Cannot_get_body_AMQP_data_encode[] = "Cannot get body AMQP data encoded size";
static const char __pyx_k_Cannot_get_body_AMQP_value_encod[] = "Cannot get body AMQP value encoded size";
static const char __pyx_k_Cannot_obtain_AMQP_value_from_bo[] = "Cannot obtain AMQP value from body";
static const char __pyx_k_Cannot_obtain_application_proper[] = "Cannot obtain application properties encoded size";
static const char __pyx_k_Cannot_obtain_header_encoded_siz[] = "Cannot obtain header encoded size";
static const char __pyx_k_Cannot_obtain_message_annotation[] = "Cannot obtain message annotations encoded size";
static const char __pyx_k_Cannot_obtain_message_properties[] = "Cannot obtain message properties encoded size";
static const char __pyx_k_Client_shutdown_with_keyboard_in[] = "Client shutdown with keyboard interrupt.";
static const char __pyx_k_Could_not_set_absolute_expiry_ti[] = "Could not set 'absolute_expiry_time'.";
static const char __pyx_k_Deallocating_cManagementOperatio[] = "Deallocating cManagementOperation";
static const char __pyx_k_Destroying_CBSTokenAuth_for_conn[] = "Destroying CBSTokenAuth for connection %r";
static const char __pyx_k_Failed_to_allocate_memory_for_ac[] = "Failed to allocate memory for accepted delivery.";
static const char __pyx_k_Failed_to_allocate_memory_for_me[] = "Failed to allocate memory for messaging source.";
static const char __pyx_k_Failed_to_allocate_memory_for_mo[] = "Failed to allocate memory for modified delivery.";
static const char __pyx_k_Failed_to_allocate_memory_for_re[] = "Failed to allocate memory for received delivery.";
static const char __pyx_k_Failed_to_allocate_memory_to_cre[] = "Failed to allocate memory to create {}";
static const char __pyx_k_Failed_to_append_AMQPString_valu[] = "Failed to append AMQPString value.";
static const char __pyx_k_Failed_to_clone_AMQPString_value[] = "Failed to clone AMQPString value.";
static const char __pyx_k_Failed_to_create_SASL_CBS_Interf[] = "Failed to create SASL CBS Interface description";
static const char __pyx_k_Failed_to_create_SASL_plain_Inte[] = "Failed to create SASL plain Interface description";
static const char __pyx_k_Failed_to_create_message_decoder[] = "Failed to create message decoder.";
static const char __pyx_k_Failed_to_create_tlsio_descripti[] = "Failed to create tlsio description.";
static const char __pyx_k_Failed_to_encode_batched_message[] = "Failed to encode batched message data.";
static const char __pyx_k_Failed_to_get_source_distributio[] = "Failed to get source distribution_mode";
static const char __pyx_k_Failed_to_get_source_dynamic_nod[] = "Failed to get source dynamic_node_properties";
static const char __pyx_k_Failed_to_get_source_expiry_poli[] = "Failed to get source expiry_policy";
static const char __pyx_k_Failed_to_get_target_dynamic_nod[] = "Failed to get target dynamic_node_properties";
static const char __pyx_k_Failed_to_get_target_expiry_poli[] = "Failed to get target expiry_policy";
static const char __pyx_k_Failed_to_process_link_ATTACH_fr[] = "Failed to process link ATTACH frame: %r";
static const char __pyx_k_Failed_to_set_source_distributio[] = "Failed to set source distribution_mode";
static const char __pyx_k_Failed_to_set_source_dynamic_nod[] = "Failed to set source dynamic_node_properties";
static const char __pyx_k_Failed_to_set_source_expiry_poli[] = "Failed to set source expiry_policy";
static const char __pyx_k_Failed_to_set_status_description[] = "Failed to set status description field name.";
static const char __pyx_k_Failed_to_set_target_dynamic_nod[] = "Failed to set target dynamic_node_properties";
static const char __pyx_k_Failed_to_set_target_expiry_poli[] = "Failed to set target expiry_policy";
static const char __pyx_k_Failure_getting_message_body_typ[] = "Failure getting message body type and/or message format";
static const char __pyx_k_Incompatible_checksums_s_vs_0xd4[] = "Incompatible checksums (%s vs 0xd41d8cd = ())";
static const char __pyx_k_LINK_ERROR_MESSAGE_SIZE_EXCEEDED[] = "LINK_ERROR_MESSAGE_SIZE_EXCEEDED";
static const char __pyx_k_LINK_ERROR_TRANSFER_LIMIT_EXCEED[] = "LINK_ERROR_TRANSFER_LIMIT_EXCEEDED";
static const char __pyx_k_Link_ATTACH_frame_missing_source[] = "Link ATTACH frame missing source and/or target. DETACH pending.";
static const char __pyx_k_RECEIVER_SETTLE_MODE_RECEIVEANDD[] = "RECEIVER_SETTLE_MODE_RECEIVEANDDELETE";
static const char __pyx_k_Received_unrecognized_type_value[] = "Received unrecognized type value: %r";
static const char __pyx_k_Token_put_complete_with_result_r[] = "Token put complete with result: %r, status: %r, description: %r, connection: %r";
static const char __pyx_k_Unable_to_decode_ATTACH_frame_so[] = "Unable to decode ATTACH frame source";
static const char __pyx_k_Unable_to_decode_ATTACH_frame_ta[] = "Unable to decode ATTACH frame target";
static const char __pyx_k_Unable_to_execute_management_ope[] = "Unable to execute management operation.";
static const char __pyx_k_Unable_to_register_CLOSE_event_h[] = "Unable to register CLOSE event handler.";
static const char __pyx_k_Unable_to_retrieve_last_received[] = "Unable to retrieve last received message number.";
static const char __pyx_k_Unable_to_retrieve_message_recei[] = "Unable to retrieve message receiver link name.";
static const char __pyx_k_Unable_to_send_message_dispostit[] = "Unable to send message dispostition 'accepted' for message number {}";
static const char __pyx_k_Unable_to_set_link_attach_proper[] = "Unable to set link attach properties.";
static const char __pyx_k_Unable_to_set_link_desired_capab[] = "Unable to set link desired capabilities.";
static const char __pyx_k_Unknown_MessageReceiver_state_ch[] = "Unknown MessageReceiver state changed: %r to %r";
static const char __pyx_k_Unknown_MessageSender_state_chan[] = "Unknown MessageSender state changed: %r to %r";
static const char __pyx_k_Unknown_connection_state_changed[] = "Unknown connection state changed: %r to %r";
static const char __pyx_k_amqp_link_transfer_limit_exceede[] = "amqp:link:transfer-limit-exceeded";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2[] = "AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR";
static const char __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3[] = "AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS";
static const char __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4[] = "AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED";
static const char __pyx_k_Failed_to_allocate_memory_for_me_2[] = "Failed to allocate memory for messaging target.";
static const char __pyx_k_Failed_to_allocate_memory_for_re_2[] = "Failed to allocate memory for rejected delivery.";
static const char __pyx_k_Failed_to_allocate_memory_for_re_3[] = "Failed to allocate memory for released delivery.";
static const char __pyx_k_Unable_to_send_message_dispostit_2[] = "Unable to send message dispostition 'released' for message number {}";
static const char __pyx_k_Unable_to_send_message_dispostit_3[] = "Unable to send message dispostition 'rejected' for message number {}";
static const char __pyx_k_Unable_to_send_message_dispostit_4[] = "Unable to send message dispostition 'delivery-modified' for message number {}";
static PyObject *__pyx_n_s_AMQPS_PORT;
static PyObject *__pyx_n_s_AMQPType;
static PyObject *__pyx_n_s_AMQP_BATCH_MESSAGE_FORMAT;
static PyObject *__pyx_n_s_AMQP_ERROR_DECODE_ERROR;
static PyObject *__pyx_n_s_AMQP_ERROR_FRAME_SIZE_TOO_SMALL;
static PyObject *__pyx_n_s_AMQP_ERROR_ILLEGAL_STATE;
static PyObject *__pyx_n_s_AMQP_ERROR_INTERNAL_ERROR;
static PyObject *__pyx_n_s_AMQP_ERROR_INVALID_FIELD;
static PyObject *__pyx_n_s_AMQP_ERROR_NOT_ALLOWED;
static PyObject *__pyx_n_s_AMQP_ERROR_NOT_FOUND;
static PyObject *__pyx_n_s_AMQP_ERROR_NOT_IMPLEMENTED;
static PyObject *__pyx_n_s_AMQP_ERROR_PRECONDITION_FAILED;
static PyObject *__pyx_n_s_AMQP_ERROR_RESOURCE_DELETED;
static PyObject *__pyx_n_s_AMQP_ERROR_RESOURCE_LIMIT_EXCEED;
static PyObject *__pyx_n_s_AMQP_ERROR_RESOURCE_LOCKED;
static PyObject *__pyx_n_s_AMQP_ERROR_UNAUTHORIZED_ACCESS;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_OPEN_CANCELLED;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_OPEN_ERROR;
static PyObject *__pyx_n_s_AMQP_MANAGEMENT_OPEN_OK;
static PyObject *__pyx_n_s_AMQP_WSS_PORT;
static PyObject *__pyx_n_s_APACHE;
static PyObject *__pyx_kp_s_ATTACH_frame_Source_and_or_Targe;
static PyObject *__pyx_n_s_AUTH_EXPIRATION_SECS;
static PyObject *__pyx_n_s_AUTH_REFRESH_SECS;
static PyObject *__pyx_n_s_AUTH_STATUS_ERROR;
static PyObject *__pyx_n_s_AUTH_STATUS_EXPIRED;
static PyObject *__pyx_n_s_AUTH_STATUS_FAILURE;
static PyObject *__pyx_n_s_AUTH_STATUS_IDLE;
static PyObject *__pyx_n_s_AUTH_STATUS_IN_PROGRESS;
static PyObject *__pyx_n_s_AUTH_STATUS_OK;
static PyObject *__pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED;
static PyObject *__pyx_n_s_AUTH_STATUS_TIMEOUT;
static PyObject *__pyx_n_s_ArrayValue;
static PyObject *__pyx_n_s_AttributeError;
static PyObject *__pyx_n_s_BinaryValue;
static PyObject *__pyx_kp_s_Body_data_count_is_zero;
static PyObject *__pyx_n_s_BoolValue;
static PyObject *__pyx_n_s_ByteValue;
static PyObject *__pyx_n_s_CBS_OPEN_COMPLETE_CANCELLED;
static PyObject *__pyx_n_s_CBS_OPEN_COMPLETE_ERROR;
static PyObject *__pyx_n_s_CBS_OPEN_COMPLETE_OK;
static PyObject *__pyx_n_s_CBS_OPERATION_RESULT_CBS_ERROR;
static PyObject *__pyx_n_s_CBS_OPERATION_RESULT_INSTANCE_CL;
static PyObject *__pyx_n_s_CBS_OPERATION_RESULT_OK;
static PyObject *__pyx_n_s_CBS_OPERATION_RESULT_OPERATION_F;
static PyObject *__pyx_kp_s_CBS_error_occurred_on_connection;
static PyObject *__pyx_kp_s_CBS_for_connection_r_completed_o;
static PyObject *__pyx_n_s_CLOSE_PIPE;
static PyObject *__pyx_n_s_CLOSE_RCVD;
static PyObject *__pyx_n_s_CLOSE_SENT;
static PyObject *__pyx_n_s_CONNECTION_ERROR_CONNECTION_FORC;
static PyObject *__pyx_n_s_CONNECTION_ERROR_FRAMING_ERROR;
static PyObject *__pyx_n_s_CONNECTION_ERROR_REDIRECT;
static PyObject *__pyx_kp_s_Can_t_call__message_received_dur;
static PyObject *__pyx_kp_s_Can_t_call__on_message_sent_duri;
static PyObject *__pyx_kp_s_Can_t_call_on_cbs_error_during_g;
static PyObject *__pyx_kp_s_Can_t_call_on_cbs_open_complete;
static PyObject *__pyx_kp_s_Can_t_call_on_cbs_put_token_comp;
static PyObject *__pyx_kp_s_Can_t_call_on_connection_state_c;
static PyObject *__pyx_kp_s_Can_t_call_on_state_changed_duri;
static PyObject *__pyx_kp_s_Cannot_create_AMQP_value_decoder;
static PyObject *__pyx_kp_s_Cannot_create_application_proper;
static PyObject *__pyx_kp_s_Cannot_create_body_AMQP_data;
static PyObject *__pyx_kp_s_Cannot_create_body_AMQP_value;
static PyObject *__pyx_kp_s_Cannot_create_header_AMQP_value;
static PyObject *__pyx_kp_s_Cannot_create_properties_AMQP_va;
static PyObject *__pyx_kp_s_Cannot_decode_bytes;
static PyObject *__pyx_kp_s_Cannot_encode_application_proper;
static PyObject *__pyx_kp_s_Cannot_encode_body_AMQP_value;
static PyObject *__pyx_kp_s_Cannot_encode_header_value;
static PyObject *__pyx_kp_s_Cannot_encode_message_annotation;
static PyObject *__pyx_kp_s_Cannot_encode_message_properties;
static PyObject *__pyx_kp_s_Cannot_get_body_AMQP_data;
static PyObject *__pyx_kp_s_Cannot_get_body_AMQP_data_count;
static PyObject *__pyx_kp_s_Cannot_get_body_AMQP_data_encode;
static PyObject *__pyx_kp_s_Cannot_get_body_AMQP_value_encod;
static PyObject *__pyx_kp_s_Cannot_get_cMessage_application;
static PyObject *__pyx_kp_s_Cannot_get_cMessage_header;
static PyObject *__pyx_kp_s_Cannot_get_cMessage_properties;
static PyObject *__pyx_kp_s_Cannot_obtain_AMQP_value_from_bo;
static PyObject *__pyx_kp_s_Cannot_obtain_application_proper;
static PyObject *__pyx_kp_s_Cannot_obtain_header_encoded_siz;
static PyObject *__pyx_kp_s_Cannot_obtain_message_annotation;
static PyObject *__pyx_kp_s_Cannot_obtain_message_properties;
static PyObject *__pyx_n_s_CharValue;
static PyObject *__pyx_kp_b_Client_shutdown_with_keyboard_in;
static PyObject *__pyx_n_s_CompositeType;
static PyObject *__pyx_n_s_ConnectionState;
static PyObject *__pyx_kp_s_Could_not_set_absolute_expiry_ti;
static PyObject *__pyx_kp_s_Could_not_set_content_encoding;
static PyObject *__pyx_kp_s_Could_not_set_content_type;
static PyObject *__pyx_kp_s_Could_not_set_correlation_id;
static PyObject *__pyx_kp_s_Could_not_set_create_time;
static PyObject *__pyx_kp_s_Could_not_set_group_Sequence;
static PyObject *__pyx_kp_s_Could_not_set_group_id;
static PyObject *__pyx_kp_s_Could_not_set_message_id;
static PyObject *__pyx_kp_s_Could_not_set_reply_to;
static PyObject *__pyx_kp_s_Could_not_set_reply_to_group_id;
static PyObject *__pyx_kp_s_Could_not_set_subject;
static PyObject *__pyx_kp_s_Could_not_set_to;
static PyObject *__pyx_kp_s_Could_not_set_user_id;
static PyObject *__pyx_kp_s_Couldn_t_set_delivery_count;
static PyObject *__pyx_kp_s_Couldn_t_set_durable;
static PyObject *__pyx_kp_s_Couldn_t_set_first_acquirer;
static PyObject *__pyx_kp_s_Couldn_t_set_priority;
static PyObject *__pyx_kp_s_Couldn_t_set_time_to_live;
static PyObject *__pyx_kp_s_Creating_SASL_Mechanism;
static PyObject *__pyx_n_s_DEFAULT_PORT;
static PyObject *__pyx_n_s_DEFAULT_WS_PORT;
static PyObject *__pyx_n_s_DISCARDING;
static PyObject *__pyx_n_s_DataType;
static PyObject *__pyx_kp_s_Deallocating_AMQPString;
static PyObject *__pyx_kp_s_Deallocating_CBSTokenAuth;
static PyObject *__pyx_kp_s_Deallocating_Connection;
static PyObject *__pyx_kp_s_Deallocating_SASLMechanism;
static PyObject *__pyx_kp_s_Deallocating_XIO;
static PyObject *__pyx_kp_s_Deallocating_cError;
static PyObject *__pyx_kp_s_Deallocating_cHeader;
static PyObject *__pyx_kp_s_Deallocating_cLink;
static PyObject *__pyx_kp_s_Deallocating_cManagementOperatio;
static PyObject *__pyx_kp_s_Deallocating_cMessage;
static PyObject *__pyx_kp_s_Deallocating_cMessageDecoder;
static PyObject *__pyx_kp_s_Deallocating_cMessageReceiver;
static PyObject *__pyx_kp_s_Deallocating_cMessageSender;
static PyObject *__pyx_kp_s_Deallocating_cProperties;
static PyObject *__pyx_kp_s_Deallocating_cSession;
static PyObject *__pyx_kp_s_Deallocating_cSource;
static PyObject *__pyx_kp_s_Deallocating_cTarget;
static PyObject *__pyx_kp_s_Deallocating_r;
static PyObject *__pyx_n_s_Debug;
static PyObject *__pyx_kp_s_Deinitializing_platform;
static PyObject *__pyx_n_s_DescribedType;
static PyObject *__pyx_kp_s_Destroying_AMQPString;
static PyObject *__pyx_kp_s_Destroying_AsyncOperation;
static PyObject *__pyx_kp_s_Destroying_CBSTokenAuth_for_conn;
static PyObject *__pyx_kp_s_Destroying_Connection;
static PyObject *__pyx_kp_s_Destroying_SASLMechanism;
static PyObject *__pyx_kp_s_Destroying_XIO;
static PyObject *__pyx_kp_s_Destroying_cError;
static PyObject *__pyx_kp_s_Destroying_cHeader;
static PyObject *__pyx_kp_s_Destroying_cLink;
static PyObject *__pyx_kp_s_Destroying_cManagementOperation;
static PyObject *__pyx_kp_s_Destroying_cMessage;
static PyObject *__pyx_kp_s_Destroying_cMessageReceiver;
static PyObject *__pyx_kp_s_Destroying_cMessageSender;
static PyObject *__pyx_kp_s_Destroying_cProperties;
static PyObject *__pyx_kp_s_Destroying_cSession;
static PyObject *__pyx_kp_s_Destroying_cSource;
static PyObject *__pyx_kp_s_Destroying_cTarget;
static PyObject *__pyx_kp_s_Destroying_r;
static PyObject *__pyx_n_s_DictValue;
static PyObject *__pyx_n_s_DoubleValue;
static PyObject *__pyx_n_s_END;
static PyObject *__pyx_n_s_ERROR;
static PyObject *__pyx_n_s_Enum;
static PyObject *__pyx_kp_s_Error;
static PyObject *__pyx_kp_s_ErrorCode;
static PyObject *__pyx_n_s_ErrorType;
static PyObject *__pyx_n_s_Error_2;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_ac;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_me;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_me_2;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_mo;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_re;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_re_2;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_for_re_3;
static PyObject *__pyx_kp_s_Failed_to_allocate_memory_to_cre;
static PyObject *__pyx_kp_s_Failed_to_append_AMQPString_valu;
static PyObject *__pyx_kp_s_Failed_to_append_string;
static PyObject *__pyx_kp_s_Failed_to_clone_AMQPString_value;
static PyObject *__pyx_kp_s_Failed_to_create_SASL_Anonymous;
static PyObject *__pyx_kp_s_Failed_to_create_SASL_CBS_Interf;
static PyObject *__pyx_kp_s_Failed_to_create_SASL_Client_IO;
static PyObject *__pyx_kp_s_Failed_to_create_SASL_plain_Inte;
static PyObject *__pyx_kp_s_Failed_to_create_SAS_token;
static PyObject *__pyx_kp_s_Failed_to_create_message_decoder;
static PyObject *__pyx_kp_s_Failed_to_create_source;
static PyObject *__pyx_kp_s_Failed_to_create_target;
static PyObject *__pyx_kp_s_Failed_to_create_tick_counter;
static PyObject *__pyx_kp_s_Failed_to_create_tlsio_descripti;
static PyObject *__pyx_kp_s_Failed_to_encode_batched_message;
static PyObject *__pyx_kp_s_Failed_to_get_current_ms_time;
static PyObject *__pyx_kp_s_Failed_to_get_encoded_size;
static PyObject *__pyx_kp_s_Failed_to_get_source_address;
static PyObject *__pyx_kp_s_Failed_to_get_source_distributio;
static PyObject *__pyx_kp_s_Failed_to_get_source_durable;
static PyObject *__pyx_kp_s_Failed_to_get_source_dynamic;
static PyObject *__pyx_kp_s_Failed_to_get_source_dynamic_nod;
static PyObject *__pyx_kp_s_Failed_to_get_source_expiry_poli;
static PyObject *__pyx_kp_s_Failed_to_get_source_filter_set;
static PyObject *__pyx_kp_s_Failed_to_get_source_timeout;
static PyObject *__pyx_kp_s_Failed_to_get_target_address;
static PyObject *__pyx_kp_s_Failed_to_get_target_durable;
static PyObject *__pyx_kp_s_Failed_to_get_target_dynamic;
static PyObject *__pyx_kp_s_Failed_to_get_target_dynamic_nod;
static PyObject *__pyx_kp_s_Failed_to_get_target_expiry_poli;
static PyObject *__pyx_kp_s_Failed_to_get_target_timeout;
static PyObject *__pyx_kp_s_Failed_to_initialize_platform;
static PyObject *__pyx_kp_s_Failed_to_process_link_ATTACH_fr;
static PyObject *__pyx_kp_s_Failed_to_set_certificates;
static PyObject *__pyx_kp_s_Failed_to_set_option;
static PyObject *__pyx_kp_s_Failed_to_set_source_address;
static PyObject *__pyx_kp_s_Failed_to_set_source_distributio;
static PyObject *__pyx_kp_s_Failed_to_set_source_durable;
static PyObject *__pyx_kp_s_Failed_to_set_source_dynamic;
static PyObject *__pyx_kp_s_Failed_to_set_source_dynamic_nod;
static PyObject *__pyx_kp_s_Failed_to_set_source_expiry_poli;
static PyObject *__pyx_kp_s_Failed_to_set_source_filter_set;
static PyObject *__pyx_kp_s_Failed_to_set_source_timeout;
static PyObject *__pyx_kp_s_Failed_to_set_status_code_field;
static PyObject *__pyx_kp_s_Failed_to_set_status_description;
static PyObject *__pyx_kp_s_Failed_to_set_target_address;
static PyObject *__pyx_kp_s_Failed_to_set_target_durable;
static PyObject *__pyx_kp_s_Failed_to_set_target_dynamic;
static PyObject *__pyx_kp_s_Failed_to_set_target_dynamic_nod;
static PyObject *__pyx_kp_s_Failed_to_set_target_expiry_poli;
static PyObject *__pyx_kp_s_Failed_to_set_target_timeout;
static PyObject *__pyx_kp_s_Failure_getting_message_body_typ;
static PyObject *__pyx_n_s_FloatValue;
static PyObject *__pyx_kp_s_Generated_invalid_SAS_token;
static PyObject *__pyx_n_s_HDR_EXCH;
static PyObject *__pyx_n_s_HDR_RCVD;
static PyObject *__pyx_n_s_HDR_SENT;
static PyObject *__pyx_n_s_IO_OPEN_RESULT_CANCELLED;
static PyObject *__pyx_n_s_IO_OPEN_RESULT_ERROR;
static PyObject *__pyx_n_s_IO_OPEN_RESULT_OK;
static PyObject *__pyx_n_s_IO_SEND_RESULT_CANCELLED;
static PyObject *__pyx_n_s_IO_SEND_RESULT_ERROR;
static PyObject *__pyx_n_s_IO_SEND_RESULT_OK;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xd4;
static PyObject *__pyx_n_s_IndexError;
static PyObject *__pyx_kp_s_Index_is_out_of_range;
static PyObject *__pyx_n_s_Info;
static PyObject *__pyx_kp_s_Input_value_must_be_type_UUID;
static PyObject *__pyx_n_s_IntValue;
static PyObject *__pyx_n_s_KeyError;
static PyObject *__pyx_n_s_KeyboardInterrupt;
static PyObject *__pyx_n_s_LINK_ERROR_DETACH_FORCED;
static PyObject *__pyx_n_s_LINK_ERROR_MESSAGE_SIZE_EXCEEDED;
static PyObject *__pyx_n_s_LINK_ERROR_REDIRECT;
static PyObject *__pyx_n_s_LINK_ERROR_STOLEN;
static PyObject *__pyx_n_s_LINK_ERROR_TRANSFER_LIMIT_EXCEED;
static PyObject *__pyx_kp_s_Link_ATTACH_frame_missing_source;
static PyObject *__pyx_n_s_ListValue;
static PyObject *__pyx_n_s_LogCategory;
static PyObject *__pyx_n_s_LongValue;
static PyObject *__pyx_n_s_MAX_FRAME_SIZE_BYTES;
static PyObject *__pyx_n_s_MAX_MESSAGE_LENGTH_BYTES;
static PyObject *__pyx_n_s_MAX_PARTITION_KEY_LENGTH;
static PyObject *__pyx_n_s_MESSAGE_RECEIVER_STATE_CLOSING;
static PyObject *__pyx_n_s_MESSAGE_RECEIVER_STATE_ERROR;
static PyObject *__pyx_n_s_MESSAGE_RECEIVER_STATE_IDLE;
static PyObject *__pyx_n_s_MESSAGE_RECEIVER_STATE_OPEN;
static PyObject *__pyx_n_s_MESSAGE_RECEIVER_STATE_OPENING;
static PyObject *__pyx_n_s_MESSAGE_SENDER_STATE_CLOSING;
static PyObject *__pyx_n_s_MESSAGE_SENDER_STATE_ERROR;
static PyObject *__pyx_n_s_MESSAGE_SENDER_STATE_IDLE;
static PyObject *__pyx_n_s_MESSAGE_SENDER_STATE_OPEN;
static PyObject *__pyx_n_s_MESSAGE_SENDER_STATE_OPENING;
static PyObject *__pyx_n_s_MESSAGE_SEND_CANCELLED;
static PyObject *__pyx_n_s_MESSAGE_SEND_ERROR;
static PyObject *__pyx_n_s_MESSAGE_SEND_OK;
static PyObject *__pyx_n_s_MESSAGE_SEND_TIMEOUT;
static PyObject *__pyx_kp_s_Management_link_error;
static PyObject *__pyx_kp_s_Management_link_open_r;
static PyObject *__pyx_kp_s_Management_op_complete_r_status;
static PyObject *__pyx_n_s_MemoryError;
static PyObject *__pyx_n_s_MessageBodyType;
static PyObject *__pyx_kp_s_NULL_error_occurred_in;
static PyObject *__pyx_kp_s_No_item_found_at_index;
static PyObject *__pyx_kp_s_No_value_found_for_key;
static PyObject *__pyx_n_s_None;
static PyObject *__pyx_n_s_NoneType;
static PyObject *__pyx_n_s_NullValue;
static PyObject *__pyx_n_s_OC_PIPE;
static PyObject *__pyx_n_s_OPENED;
static PyObject *__pyx_n_s_OPEN_PIPE;
static PyObject *__pyx_n_s_OPEN_RCVD;
static PyObject *__pyx_n_s_OPEN_SENT;
static PyObject *__pyx_kp_s_Operation_failed;
static PyObject *__pyx_n_s_PY3;
static PyObject *__pyx_n_s_PickleError;
static PyObject *__pyx_kp_s_Put_Token_request_failed;
static PyObject *__pyx_n_s_RECEIVER_SETTLE_MODE_PEEKLOCK;
static PyObject *__pyx_n_s_RECEIVER_SETTLE_MODE_RECEIVEANDD;
static PyObject *__pyx_n_s_ROLE_RECEIVER;
static PyObject *__pyx_n_s_ROLE_SENDER;
static PyObject *__pyx_kp_s_Received_unrecognized_type_value;
static PyObject *__pyx_n_s_RuntimeError;
static PyObject *__pyx_kp_s_SASL_Mechanism_must_not_be_NULL;
static PyObject *__pyx_n_s_SENDER_SETTLE_MODE_MIXED;
static PyObject *__pyx_n_s_SENDER_SETTLE_MODE_SETTLED;
static PyObject *__pyx_n_s_SENDER_SETTLE_MODE_UNSETTLED;
static PyObject *__pyx_n_s_SESSION_ERROR_ERRANT_LINK;
static PyObject *__pyx_n_s_SESSION_ERROR_HANDLE_IN_USE;
static PyObject *__pyx_n_s_SESSION_ERROR_UNATTACHED_HANDLE;
static PyObject *__pyx_n_s_SESSION_ERROR_WINDOW_VIOLATION;
static PyObject *__pyx_n_s_START;
static PyObject *__pyx_kp_s_Send_operation_result_is_NULL;
static PyObject *__pyx_n_s_SequenceType;
static PyObject *__pyx_n_s_ShortValue;
static PyObject *__pyx_n_s_StringValue;
static PyObject *__pyx_n_s_SymbolValue;
static PyObject *__pyx_n_s_TimestampValue;
static PyObject *__pyx_kp_s_Token_has_expired;
static PyObject *__pyx_kp_s_Token_put_complete_with_result_r;
static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_n_s_UByteValue;
static PyObject *__pyx_n_s_UIntValue;
static PyObject *__pyx_n_s_ULongValue;
static PyObject *__pyx_n_s_UNKNOWN;
static PyObject *__pyx_n_s_UShortValue;
static PyObject *__pyx_kp_s_UTF_8;
static PyObject *__pyx_n_s_UUID;
static PyObject *__pyx_n_s_UUIDValue;
static PyObject *__pyx_kp_s_Unable_to_close_CBS_link;
static PyObject *__pyx_kp_s_Unable_to_close_management_link;
static PyObject *__pyx_kp_s_Unable_to_create_CBS_Handle;
static PyObject *__pyx_kp_s_Unable_to_create_payload_data;
static PyObject *__pyx_kp_s_Unable_to_decode_ATTACH_frame_so;
static PyObject *__pyx_kp_s_Unable_to_decode_ATTACH_frame_ta;
static PyObject *__pyx_kp_s_Unable_to_execute_management_ope;
static PyObject *__pyx_kp_s_Unable_to_open_CBS_link;
static PyObject *__pyx_kp_s_Unable_to_open_management_link;
static PyObject *__pyx_kp_s_Unable_to_register_CLOSE_event_h;
static PyObject *__pyx_kp_s_Unable_to_register_DETACH_event;
static PyObject *__pyx_kp_s_Unable_to_retrieve_last_received;
static PyObject *__pyx_kp_s_Unable_to_retrieve_message_recei;
static PyObject *__pyx_kp_s_Unable_to_send_message_dispostit;
static PyObject *__pyx_kp_s_Unable_to_send_message_dispostit_2;
static PyObject *__pyx_kp_s_Unable_to_send_message_dispostit_3;
static PyObject *__pyx_kp_s_Unable_to_send_message_dispostit_4;
static PyObject *__pyx_kp_s_Unable_to_set_debug_trace;
static PyObject *__pyx_kp_s_Unable_to_set_link_attach_proper;
static PyObject *__pyx_kp_s_Unable_to_set_link_credit;
static PyObject *__pyx_kp_s_Unable_to_set_link_desired_capab;
static PyObject *__pyx_kp_s_UnderLying_IO_must_not_be_NULL;
static PyObject *__pyx_n_s_UnicodeDecodeError;
static PyObject *__pyx_n_s_UnknownType;
static PyObject *__pyx_kp_s_Unknown_MessageReceiver_state_ch;
static PyObject *__pyx_kp_s_Unknown_MessageSender_state_chan;
static PyObject *__pyx_kp_s_Unknown_connection_state_changed;
static PyObject *__pyx_kp_s_Unrecognized_AMQPType;
static PyObject *__pyx_n_s_ValueError;
static PyObject *__pyx_n_s_ValueType;
static PyObject *__pyx_kp_s_Wrapping_value_type_r;
static PyObject *__pyx_kp_b__296;
static PyObject *__pyx_n_s_add_body_data;
static PyObject *__pyx_n_s_add_body_sequence;
static PyObject *__pyx_n_s_address;
static PyObject *__pyx_kp_s_amqp_connection_forced;
static PyObject *__pyx_kp_s_amqp_connection_framing_error;
static PyObject *__pyx_kp_s_amqp_connection_redirect;
static PyObject *__pyx_kp_s_amqp_decode_error;
static PyObject *__pyx_kp_s_amqp_frame_size_too_small;
static PyObject *__pyx_kp_s_amqp_illegal_state;
static PyObject *__pyx_kp_s_amqp_internal_error;
static PyObject *__pyx_kp_s_amqp_invalid_field;
static PyObject *__pyx_kp_s_amqp_link_detach_forced;
static PyObject *__pyx_kp_s_amqp_link_message_size_exceeded;
static PyObject *__pyx_kp_s_amqp_link_redirect;
static PyObject *__pyx_kp_s_amqp_link_stolen;
static PyObject *__pyx_kp_s_amqp_link_transfer_limit_exceede;
static PyObject *__pyx_kp_s_amqp_not_allowed;
static PyObject *__pyx_kp_s_amqp_not_found;
static PyObject *__pyx_kp_s_amqp_not_implemented;
static PyObject *__pyx_kp_s_amqp_precondition_failed;
static PyObject *__pyx_kp_s_amqp_resource_deleted;
static PyObject *__pyx_kp_s_amqp_resource_limit_exceeded;
static PyObject *__pyx_kp_s_amqp_resource_locked;
static PyObject *__pyx_kp_s_amqp_session_errant_link;
static PyObject *__pyx_kp_s_amqp_session_handle_in_use;
static PyObject *__pyx_kp_s_amqp_session_unattached_handle;
static PyObject *__pyx_kp_s_amqp_session_window_violation;
static PyObject *__pyx_kp_s_amqp_unauthorized_access;
static PyObject *__pyx_n_s_annotations;
static PyObject *__pyx_kp_s_apache_org;
static PyObject *__pyx_n_s_append;
static PyObject *__pyx_n_s_as_string;
static PyObject *__pyx_n_s_attach_received;
static PyObject *__pyx_n_s_audience;
static PyObject *__pyx_n_s_authcid;
static PyObject *__pyx_n_s_authenticate;
static PyObject *__pyx_n_s_authzid;
static PyObject *__pyx_n_s_begin;
static PyObject *__pyx_n_s_binary_type;
static PyObject *__pyx_n_s_bool_value;
static PyObject *__pyx_n_s_bytes;
static PyObject *__pyx_n_s_c_value;
static PyObject *__pyx_n_s_callback_context;
static PyObject *__pyx_n_s_cancel;
static PyObject *__pyx_n_s_category;
static PyObject *__pyx_n_s_cbs_error;
static PyObject *__pyx_n_s_cbs_open_complete;
static PyObject *__pyx_n_s_cbs_put_token_compelete;
static PyObject *__pyx_n_s_check_expiration_and_refresh_st;
static PyObject *__pyx_n_s_check_put_timeout_status;
static PyObject *__pyx_n_s_chr;
static PyObject *__pyx_n_s_class;
static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_clone;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_n_s_close_received;
static PyObject *__pyx_n_s_condition_value;
static PyObject *__pyx_n_s_connection;
static PyObject *__pyx_n_s_connection_id;
static PyObject *__pyx_n_s_container_id;
static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_count_body_data;
static PyObject *__pyx_n_s_count_body_sequence;
static PyObject *__pyx_n_s_create;
static PyObject *__pyx_n_s_create_source;
static PyObject *__pyx_n_s_create_target;
static PyObject *__pyx_n_s_data;
static PyObject *__pyx_n_s_debug;
static PyObject *__pyx_n_s_decode;
static PyObject *__pyx_n_s_deepcopy;
static PyObject *__pyx_n_s_delivery_accepted;
static PyObject *__pyx_n_s_delivery_failed;
static PyObject *__pyx_n_s_delivery_fields;
static PyObject *__pyx_n_s_delivery_modified;
static PyObject *__pyx_kp_s_delivery_modified_r_r;
static PyObject *__pyx_n_s_delivery_received;
static PyObject *__pyx_n_s_delivery_rejected;
static PyObject *__pyx_n_s_delivery_released;
static PyObject *__pyx_n_s_delivery_state;
static PyObject *__pyx_n_s_description;
static PyObject *__pyx_n_s_descriptor;
static PyObject *__pyx_n_s_destroy;
static PyObject *__pyx_n_s_detach_received;
static PyObject *__pyx_n_s_dict;
static PyObject *__pyx_n_s_do_work;
static PyObject *__pyx_n_s_doc;
static PyObject *__pyx_n_s_encode;
static PyObject *__pyx_n_s_encoded_data;
static PyObject *__pyx_n_s_encoding;
static PyObject *__pyx_n_s_end;
static PyObject *__pyx_n_s_enum;
static PyObject *__pyx_n_s_error_code;
static PyObject *__pyx_n_s_error_condition;
static PyObject *__pyx_n_s_error_description;
static PyObject *__pyx_n_s_error_info;
static PyObject *__pyx_n_s_error_message;
static PyObject *__pyx_n_s_execute;
static PyObject *__pyx_n_s_expires_at;
static PyObject *__pyx_n_s_expiry;
static PyObject *__pyx_n_s_false;
static PyObject *__pyx_n_s_file;
static PyObject *__pyx_n_s_format;
static PyObject *__pyx_n_s_func;
static PyObject *__pyx_n_s_get;
static PyObject *__pyx_n_s_getLogger;
static PyObject *__pyx_n_s_get_body_data;
static PyObject *__pyx_n_s_get_body_sequence;
static PyObject *__pyx_n_s_get_body_value;
static PyObject *__pyx_n_s_get_current_ms;
static PyObject *__pyx_n_s_get_encoded_size;
static PyObject *__pyx_n_s_get_failure_info;
static PyObject *__pyx_n_s_get_status;
static PyObject *__pyx_n_s_getstate;
static PyObject *__pyx_n_s_hostname;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_info;
static PyObject *__pyx_n_s_interface;
static PyObject *__pyx_n_s_io;
static PyObject *__pyx_n_s_io_config;
static PyObject *__pyx_n_s_io_desc;
static PyObject *__pyx_n_s_io_error;
static PyObject *__pyx_n_s_key;
static PyObject *__pyx_n_s_keyname;
static PyObject *__pyx_n_s_last_received_message_number;
static PyObject *__pyx_n_s_line;
static PyObject *__pyx_n_s_link;
static PyObject *__pyx_n_s_links;
static PyObject *__pyx_n_s_list_size;
static PyObject *__pyx_n_s_locales;
static PyObject *__pyx_n_s_log_line;
static PyObject *__pyx_n_s_logger;
static PyObject *__pyx_n_s_logging;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_management_node;
static PyObject *__pyx_n_s_management_open_complete;
static PyObject *__pyx_n_s_management_operation_error;
static PyObject *__pyx_n_s_memory_error;
static PyObject *__pyx_n_s_message;
static PyObject *__pyx_n_s_message_annotations;
static PyObject *__pyx_n_s_message_body;
static PyObject *__pyx_n_s_message_number;
static PyObject *__pyx_n_s_message_received;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_name;
static PyObject *__pyx_n_s_name_2;
static PyObject *__pyx_n_s_new;
static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
static PyObject *__pyx_n_s_null_error;
static PyObject *__pyx_n_s_on_cbs_error;
static PyObject *__pyx_n_s_on_cbs_open_complete;
static PyObject *__pyx_n_s_on_cbs_put_token_complete;
static PyObject *__pyx_n_s_on_link_attached_context;
static PyObject *__pyx_n_s_on_message_sent;
static PyObject *__pyx_n_s_open;
static PyObject *__pyx_n_s_operation;
static PyObject *__pyx_n_s_option_name;
static PyObject *__pyx_n_s_parameters;
static PyObject *__pyx_n_s_passwd;
static PyObject *__pyx_n_s_password;
static PyObject *__pyx_n_s_payload_bytes;
static PyObject *__pyx_n_s_payload_size;
static PyObject *__pyx_n_s_pickle;
static PyObject *__pyx_n_s_pop;
static PyObject *__pyx_n_s_port;
static PyObject *__pyx_n_s_prepare;
static PyObject *__pyx_n_s_protocol;
static PyObject *__pyx_n_s_proxy_hostname;
static PyObject *__pyx_n_s_proxy_port;
static PyObject *__pyx_n_s_python_log;
static PyObject *__pyx_n_s_pyx_PickleError;
static PyObject *__pyx_n_s_pyx_checksum;
static PyObject *__pyx_n_s_pyx_result;
static PyObject *__pyx_n_s_pyx_state;
static PyObject *__pyx_n_s_pyx_type;
static PyObject *__pyx_n_s_pyx_unpickle_Messaging;
static PyObject *__pyx_n_s_pyx_unpickle_StructBase;
static PyObject *__pyx_n_s_pyx_vtable;
static PyObject *__pyx_n_s_qualname;
static PyObject *__pyx_kp_s_r;
static PyObject *__pyx_kp_s_r_r_r_r;
static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_reduce;
static PyObject *__pyx_n_s_reduce_cython;
static PyObject *__pyx_n_s_reduce_ex;
static PyObject *__pyx_n_s_refresh;
static PyObject *__pyx_n_s_refresh_token;
static PyObject *__pyx_n_s_resource_name;
static PyObject *__pyx_n_s_result;
static PyObject *__pyx_n_s_role;
static PyObject *__pyx_n_s_sasl_client;
static PyObject *__pyx_n_s_sasl_mechanism;
static PyObject *__pyx_n_s_scope;
static PyObject *__pyx_n_s_section_number;
static PyObject *__pyx_n_s_section_offset;
static PyObject *__pyx_n_s_send;
static PyObject *__pyx_n_s_session;
static PyObject *__pyx_n_s_set_attach_properties;
static PyObject *__pyx_n_s_set_body_value;
static PyObject *__pyx_n_s_set_certificates;
static PyObject *__pyx_n_s_set_desired_capabilities;
static PyObject *__pyx_n_s_set_option;
static PyObject *__pyx_n_s_set_prefetch_count;
static PyObject *__pyx_n_s_set_proxy_config;
static PyObject *__pyx_n_s_set_response_field_names;
static PyObject *__pyx_n_s_set_tlsio_config;
static PyObject *__pyx_n_s_set_trace;
static PyObject *__pyx_n_s_setstate;
static PyObject *__pyx_n_s_setstate_cython;
static PyObject *__pyx_n_s_settle_accepted_message;
static PyObject *__pyx_n_s_settle_modified_message;
static PyObject *__pyx_n_s_settle_rejected_message;
static PyObject *__pyx_n_s_settle_released_message;
static PyObject *__pyx_n_s_six;
static PyObject *__pyx_n_s_size;
static PyObject *__pyx_n_s_source;
static PyObject *__pyx_kp_s_src_message_pyx;
static PyObject *__pyx_kp_s_src_xlogging_pyx;
static PyObject *__pyx_n_s_state_changed;
static PyObject *__pyx_n_s_staticmethod;
static PyObject *__pyx_n_s_status_code;
static PyObject *__pyx_n_s_status_description;
static PyObject *__pyx_kp_s_stringsource;
static PyObject *__pyx_n_s_subscribe_to_close_event;
static PyObject *__pyx_n_s_subscribe_to_detach_event;
static PyObject *__pyx_n_s_target;
static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_text;
static PyObject *__pyx_n_s_text_bldr;
static PyObject *__pyx_n_s_text_type;
static PyObject *__pyx_n_s_time;
static PyObject *__pyx_n_s_timeout;
static PyObject *__pyx_n_s_token;
static PyObject *__pyx_n_s_token_type;
static PyObject *__pyx_n_s_true;
static PyObject *__pyx_n_s_type;
static PyObject *__pyx_n_s_type_2;
static PyObject *__pyx_n_s_uamqp_c_uamqp;
static PyObject *__pyx_n_s_undeliverable_here;
static PyObject *__pyx_n_s_underlying_io;
static PyObject *__pyx_n_s_underlying_io_interface;
static PyObject *__pyx_n_s_underlying_io_parameters;
static PyObject *__pyx_n_s_unsubscribe_to_close_event;
static PyObject *__pyx_n_s_unsubscribe_to_detach_event;
static PyObject *__pyx_n_s_update;
static PyObject *__pyx_n_s_update_status;
static PyObject *__pyx_n_s_username;
static PyObject *__pyx_n_s_uuid;
static PyObject *__pyx_n_s_value;
static PyObject *__pyx_n_s_value_2;
static PyObject *__pyx_n_s_value_error;
static PyObject *__pyx_n_s_warning;
static PyObject *__pyx_pf_5uamqp_7c_uamqp_create_data(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_binary_data); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_2create_sequence(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence_data); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_4create_management_operation(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_management_node); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_6set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_8set_response_field_names(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_status_code, char const *__pyx_v_status_description); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_10open(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, PyObject *__pyx_v_callback_context); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_12close(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_14execute(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_operation, char const *__pyx_v_type, PyObject *__pyx_v_locales, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_callback_context); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6create_empty_string(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8create_string_from_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_encoding); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10AMQPString___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_10AMQPString_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_4__bytes__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_6__str__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_8__unicode__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_10__eq__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_12__ne__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_14destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_16append(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_18clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10enocde_batch_value(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, PyObject *__pyx_v_message_body); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12null_value(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14bool_value(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16ubyte_value(CYTHON_UNUSED PyObject *__pyx_self, unsigned char __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_18ushort_value(CYTHON_UNUSED PyObject *__pyx_self, uint16_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20uint_value(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22ulong_value(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_24byte_value(CYTHON_UNUSED PyObject *__pyx_self, char __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_26short_value(CYTHON_UNUSED PyObject *__pyx_self, int16_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_28int_value(CYTHON_UNUSED PyObject *__pyx_self, int32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_30long_value(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_32float_value(CYTHON_UNUSED PyObject *__pyx_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_34double_value(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_36char_value(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_38timestamp_value(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_40uuid_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_42binary_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_44string_value(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_46symbol_value(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_48list_value(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_50dict_value(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_52array_value(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_54described_value(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_9AMQPValue___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4__eq__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_6__ne__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_8__bytes__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_10__str__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_12__unicode__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_14_as_string(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_16destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_18create(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4type___get__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_5value___get__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_20get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_22clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue__bool_value(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_2create(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self, unsigned char __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self, uint16_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self, uint64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self, char __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self, int16_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_create(struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self, int32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_create(struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self, int64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_create(struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self, double __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_create(struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_create(struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self, int64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_create(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_create(struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_create(struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_9ListValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, size_t __pyx_v_index); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_9ListValue_6__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, uint32_t __pyx_v_index, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_9ListValue_4size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, uint32_t __pyx_v_length); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_9DictValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_key); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_9DictValue_6__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_key, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_8get(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, uint32_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, uint32_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_6append(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_create(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, uint32_t __pyx_v_list_size); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_2create_from_long(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint64_t __pyx_v_descriptor); /* proto */
static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4__len__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_6__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_8__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_10pop(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_11description___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4data___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_56create_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_58create_application_properties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_60create_delivery_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_62create_message_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_64create_fields(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_66create_footer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_12cAnnotations___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_8get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_10create(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_3map___get__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_create(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_3map___get__(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_create(struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_create(struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_2destroy(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_4cancel(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase__memory_error(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_2_value_error(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v_error_message, PyObject *__pyx_v_error_code); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_4_null_error(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v_error_message); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_6__reduce_cython__(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_8__setstate_cython__(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11TickCounter___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_11TickCounter_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_6get_current_ms(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_68create_sas_token(CYTHON_UNUSED PyObject *__pyx_self, char const *__pyx_v_key, char const *__pyx_v_scope, char const *__pyx_v_keyname, size_t __pyx_v_expiry); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_audience, char const *__pyx_v_token_type, char const *__pyx_v_token, uint64_t __pyx_v_expires_at, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, uint64_t __pyx_v_timeout, char const *__pyx_v_connection_id); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_6close(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_8set_trace(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_v_trace_on); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_10authenticate(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_12get_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_14get_failure_info(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_16refresh(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_refresh_token, uint64_t __pyx_v_expires_at); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_18_update_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_20_check_put_timeout_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_22_check_expiration_and_refresh_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_24_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_26on_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_28_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_30on_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_32_cbs_put_token_compelete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_34on_cbs_put_token_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_36__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_38__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_70create_connection(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client, char const *__pyx_v_hostname, char const *__pyx_v_container_id, PyObject *__pyx_v_callback_context); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10Connection___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_10Connection_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_10open(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_12close(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_14set_trace(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_16do_work(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_18subscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, PyObject *__pyx_v_on_close_received); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_20unsubscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, uint16_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, milliseconds __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_10properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10Connection_10properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_72create_error(CYTHON_UNUSED PyObject *__pyx_self, char const *__pyx_v_condition_value); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_6cError___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_6cError_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_9condition___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_6cError_9condition_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_condition_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_11description___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_6cError_11description_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_description_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_4info___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_6cError_4info_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_info_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_74create_header(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_7cHeader_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, milliseconds __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, uint8_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_76create_link(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_name, int __pyx_v_role, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_source, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_target); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_5cLink___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_5cLink_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_10subscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, PyObject *__pyx_v_on_detch_received); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_12unsubscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint8_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint8_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint64_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, sequence_no __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_21peer_max_message_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_4name___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_20desired_capabilities___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_14do_work(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16set_prefetch_count(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint32_t __pyx_v_prefetch); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_18set_attach_properties(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_properties); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_20set_desired_capabilities(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_desired_capabilities); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_78create_message(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_8cMessage_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6header___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_6header_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_9body_type___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_12delivery_tag___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_8add_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_10get_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_12count_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_14set_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_16get_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_18add_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_20get_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_22count_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_create_source(char const *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_2create_target(char const *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_4delivery_received(uint32_t __pyx_v_section_number, uint64_t __pyx_v_section_offset); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_6delivery_accepted(void); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_8delivery_rejected(char const *__pyx_v_error_condition, char const *__pyx_v_error_description, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_error_info); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_10delivery_released(void); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_12delivery_modified(int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_message_annotations); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_14__reduce_cython__(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_16__setstate_cython__(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_80get_encoded_message_size(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_encoded_data); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_82decode_message(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_payload_size, unsigned char const *__pyx_v_payload_bytes); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_84create_message_receiver(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_4open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, PyObject *__pyx_v_callback_context); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_6close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_10last_received_message_number(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_12settle_accepted_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_14settle_released_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_16settle_rejected_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, char const *__pyx_v_error_condition, char const *__pyx_v_error_description, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_error_info); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_18settle_modified_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_annotations); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_20set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_86create_message_sender(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_14cMessageSender___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_8open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_10close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_12destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_14send(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, tickcounter_ms_t __pyx_v_timeout, PyObject *__pyx_v_callback_context); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_16set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_88platform_init(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_90platform_deinit(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_92get_info(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_94get_default_tlsio(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_96create_properties(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_98load_properties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_11cProperties_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_2to___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_2to_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, timestamp __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, timestamp __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, sequence_no __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_100_get_sasl_mechanism_interface(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_102saslanonymous_get_interface(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_104saslplain_get_interface(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_106get_sasl_mechanism(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_108get_plain_sasl_mechanism(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface, struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_parameters); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_underlying_io, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_sasl_mechanism); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_110create_session(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection, PyObject *__pyx_v_on_link_attached_context); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cSession___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_8cSession_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, uint32_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, handle __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_10begin(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_12end(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_112create_source(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_7cSource_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7address___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7address_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, terminus_durability __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, terminus_expiry_policy __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, seconds __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_114create_target(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_7cTarget_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7address___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7address_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, terminus_durability __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, terminus_expiry_policy __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, seconds __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, int __pyx_v_port); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_2set_proxy_config(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_underlying_io_parameters); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, int __pyx_v_port); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, int __pyx_v_port); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, int __pyx_v_port); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_2set_tlsio_config(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_underlying_io_interface, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_underlying_io_parameters); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_116xio_from_wsioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_io_config); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_118xio_from_tlsioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_io_desc, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_io_config); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_120xio_from_saslioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_io_config); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_3XIO___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self); /* proto */
static void __pyx_pf_5uamqp_7c_uamqp_3XIO_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_6set_option(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, char const *__pyx_v_option_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_8set_certificates(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_122set_python_logger(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_124_python_log(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_category, PyObject *__pyx_v_text, PyObject *__pyx_v_end, PyObject *__pyx_v_text_bldr, PyObject *__pyx_v_file, PyObject *__pyx_v_func, PyObject *__pyx_v_line); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_126__pyx_unpickle_StructBase(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_5uamqp_7c_uamqp_128__pyx_unpickle_Messaging(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_StructBase(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cManagementOperation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AMQPString(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_BoolValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UByteValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UShortValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UIntValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ULongValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ByteValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ShortValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_IntValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_LongValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_FloatValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DoubleValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CharValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TimestampValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UUIDValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_BinaryValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_StringValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SymbolValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ListValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DictValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ArrayValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CompositeValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DescribedValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cApplicationProperties(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cDeliveryAnnotations(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageAnnotations(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cFields(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cFooter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AsyncOperation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TickCounter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CBSTokenAuth(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_Connection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cError(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cHeader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cLink(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessage(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_Messaging(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageDecoder(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageReceiver(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageSender(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cProperties(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLMechanism(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLClientIOConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLPlainConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cSession(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cSource(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cTarget(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TLSIOConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_HTTPProxyConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_WSIOConfig(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_XIO(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_IOInterfaceDescription(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_128;
static PyObject *__pyx_int_443;
static PyObject *__pyx_int_999;
static PyObject *__pyx_int_2880;
static PyObject *__pyx_int_3600;
static PyObject *__pyx_int_5671;
static PyObject *__pyx_int_65536;
static PyObject *__pyx_int_1048576;
static PyObject *__pyx_int_222419149;
static PyObject *__pyx_int_2147563264;
static PyObject *__pyx_k__295;
static PyObject *__pyx_tuple_;
static PyObject *__pyx_tuple__2;
static PyObject *__pyx_tuple__3;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__5;
static PyObject *__pyx_tuple__6;
static PyObject *__pyx_tuple__7;
static PyObject *__pyx_tuple__8;
static PyObject *__pyx_tuple__9;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__18;
static PyObject *__pyx_tuple__19;
static PyObject *__pyx_tuple__20;
static PyObject *__pyx_tuple__21;
static PyObject *__pyx_tuple__22;
static PyObject *__pyx_tuple__23;
static PyObject *__pyx_tuple__24;
static PyObject *__pyx_tuple__25;
static PyObject *__pyx_tuple__26;
static PyObject *__pyx_tuple__27;
static PyObject *__pyx_tuple__28;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__30;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__32;
static PyObject *__pyx_tuple__33;
static PyObject *__pyx_tuple__34;
static PyObject *__pyx_tuple__35;
static PyObject *__pyx_tuple__36;
static PyObject *__pyx_tuple__37;
static PyObject *__pyx_tuple__38;
static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__40;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__42;
static PyObject *__pyx_tuple__43;
static PyObject *__pyx_tuple__44;
static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__46;
static PyObject *__pyx_tuple__47;
static PyObject *__pyx_tuple__48;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__50;
static PyObject *__pyx_tuple__51;
static PyObject *__pyx_tuple__52;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__54;
static PyObject *__pyx_tuple__55;
static PyObject *__pyx_tuple__56;
static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__58;
static PyObject *__pyx_tuple__59;
static PyObject *__pyx_tuple__60;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__62;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__64;
static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__66;
static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__69;
static PyObject *__pyx_tuple__70;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__72;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__74;
static PyObject *__pyx_tuple__75;
static PyObject *__pyx_tuple__76;
static PyObject *__pyx_tuple__77;
static PyObject *__pyx_tuple__78;
static PyObject *__pyx_tuple__79;
static PyObject *__pyx_tuple__80;
static PyObject *__pyx_tuple__81;
static PyObject *__pyx_tuple__82;
static PyObject *__pyx_tuple__83;
static PyObject *__pyx_tuple__84;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__86;
static PyObject *__pyx_tuple__87;
static PyObject *__pyx_tuple__88;
static PyObject *__pyx_tuple__89;
static PyObject *__pyx_tuple__90;
static PyObject *__pyx_tuple__91;
static PyObject *__pyx_tuple__92;
static PyObject *__pyx_tuple__93;
static PyObject *__pyx_tuple__94;
static PyObject *__pyx_tuple__95;
static PyObject *__pyx_tuple__96;
static PyObject *__pyx_tuple__97;
static PyObject *__pyx_tuple__98;
static PyObject *__pyx_tuple__99;
static PyObject *__pyx_tuple__100;
static PyObject *__pyx_tuple__101;
static PyObject *__pyx_tuple__102;
static PyObject *__pyx_tuple__103;
static PyObject *__pyx_tuple__104;
static PyObject *__pyx_tuple__105;
static PyObject *__pyx_tuple__106;
static PyObject *__pyx_tuple__107;
static PyObject *__pyx_tuple__108;
static PyObject *__pyx_tuple__109;
static PyObject *__pyx_tuple__110;
static PyObject *__pyx_tuple__111;
static PyObject *__pyx_tuple__112;
static PyObject *__pyx_tuple__113;
static PyObject *__pyx_tuple__114;
static PyObject *__pyx_tuple__115;
static PyObject *__pyx_tuple__116;
static PyObject *__pyx_tuple__117;
static PyObject *__pyx_tuple__118;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__120;
static PyObject *__pyx_tuple__121;
static PyObject *__pyx_tuple__122;
static PyObject *__pyx_tuple__123;
static PyObject *__pyx_tuple__124;
static PyObject *__pyx_tuple__125;
static PyObject *__pyx_tuple__126;
static PyObject *__pyx_tuple__127;
static PyObject *__pyx_tuple__128;
static PyObject *__pyx_tuple__129;
static PyObject *__pyx_tuple__130;
static PyObject *__pyx_tuple__131;
static PyObject *__pyx_tuple__132;
static PyObject *__pyx_tuple__133;
static PyObject *__pyx_tuple__134;
static PyObject *__pyx_tuple__135;
static PyObject *__pyx_tuple__136;
static PyObject *__pyx_tuple__137;
static PyObject *__pyx_tuple__138;
static PyObject *__pyx_tuple__139;
static PyObject *__pyx_tuple__140;
static PyObject *__pyx_tuple__141;
static PyObject *__pyx_tuple__142;
static PyObject *__pyx_tuple__143;
static PyObject *__pyx_tuple__144;
static PyObject *__pyx_tuple__145;
static PyObject *__pyx_tuple__146;
static PyObject *__pyx_tuple__147;
static PyObject *__pyx_tuple__148;
static PyObject *__pyx_tuple__149;
static PyObject *__pyx_tuple__150;
static PyObject *__pyx_tuple__151;
static PyObject *__pyx_tuple__152;
static PyObject *__pyx_tuple__153;
static PyObject *__pyx_tuple__154;
static PyObject *__pyx_tuple__155;
static PyObject *__pyx_tuple__156;
static PyObject *__pyx_tuple__157;
static PyObject *__pyx_tuple__158;
static PyObject *__pyx_tuple__159;
static PyObject *__pyx_tuple__160;
static PyObject *__pyx_tuple__161;
static PyObject *__pyx_tuple__162;
static PyObject *__pyx_tuple__163;
static PyObject *__pyx_tuple__164;
static PyObject *__pyx_tuple__165;
static PyObject *__pyx_tuple__166;
static PyObject *__pyx_tuple__167;
static PyObject *__pyx_tuple__168;
static PyObject *__pyx_tuple__169;
static PyObject *__pyx_tuple__170;
static PyObject *__pyx_tuple__171;
static PyObject *__pyx_tuple__172;
static PyObject *__pyx_tuple__173;
static PyObject *__pyx_tuple__174;
static PyObject *__pyx_tuple__175;
static PyObject *__pyx_tuple__176;
static PyObject *__pyx_tuple__177;
static PyObject *__pyx_tuple__178;
static PyObject *__pyx_tuple__179;
static PyObject *__pyx_tuple__180;
static PyObject *__pyx_tuple__181;
static PyObject *__pyx_tuple__182;
static PyObject *__pyx_tuple__183;
static PyObject *__pyx_tuple__184;
static PyObject *__pyx_tuple__185;
static PyObject *__pyx_tuple__186;
static PyObject *__pyx_tuple__187;
static PyObject *__pyx_tuple__188;
static PyObject *__pyx_tuple__189;
static PyObject *__pyx_tuple__190;
static PyObject *__pyx_tuple__191;
static PyObject *__pyx_tuple__192;
static PyObject *__pyx_tuple__193;
static PyObject *__pyx_tuple__194;
static PyObject *__pyx_tuple__195;
static PyObject *__pyx_tuple__196;
static PyObject *__pyx_tuple__197;
static PyObject *__pyx_tuple__198;
static PyObject *__pyx_tuple__199;
static PyObject *__pyx_tuple__200;
static PyObject *__pyx_tuple__201;
static PyObject *__pyx_tuple__202;
static PyObject *__pyx_tuple__203;
static PyObject *__pyx_tuple__204;
static PyObject *__pyx_tuple__205;
static PyObject *__pyx_tuple__206;
static PyObject *__pyx_tuple__207;
static PyObject *__pyx_tuple__208;
static PyObject *__pyx_tuple__209;
static PyObject *__pyx_tuple__210;
static PyObject *__pyx_tuple__211;
static PyObject *__pyx_tuple__212;
static PyObject *__pyx_tuple__213;
static PyObject *__pyx_tuple__214;
static PyObject *__pyx_tuple__215;
static PyObject *__pyx_tuple__216;
static PyObject *__pyx_tuple__217;
static PyObject *__pyx_tuple__218;
static PyObject *__pyx_tuple__219;
static PyObject *__pyx_tuple__220;
static PyObject *__pyx_tuple__221;
static PyObject *__pyx_tuple__222;
static PyObject *__pyx_tuple__223;
static PyObject *__pyx_tuple__224;
static PyObject *__pyx_tuple__225;
static PyObject *__pyx_tuple__226;
static PyObject *__pyx_tuple__227;
static PyObject *__pyx_tuple__228;
static PyObject *__pyx_tuple__229;
static PyObject *__pyx_tuple__230;
static PyObject *__pyx_tuple__231;
static PyObject *__pyx_tuple__232;
static PyObject *__pyx_tuple__233;
static PyObject *__pyx_tuple__234;
static PyObject *__pyx_tuple__235;
static PyObject *__pyx_tuple__236;
static PyObject *__pyx_tuple__237;
static PyObject *__pyx_tuple__238;
static PyObject *__pyx_tuple__239;
static PyObject *__pyx_tuple__240;
static PyObject *__pyx_tuple__241;
static PyObject *__pyx_tuple__242;
static PyObject *__pyx_tuple__243;
static PyObject *__pyx_tuple__244;
static PyObject *__pyx_tuple__245;
static PyObject *__pyx_tuple__246;
static PyObject *__pyx_tuple__247;
static PyObject *__pyx_tuple__248;
static PyObject *__pyx_tuple__249;
static PyObject *__pyx_tuple__250;
static PyObject *__pyx_tuple__251;
static PyObject *__pyx_tuple__252;
static PyObject *__pyx_tuple__253;
static PyObject *__pyx_tuple__254;
static PyObject *__pyx_tuple__255;
static PyObject *__pyx_tuple__256;
static PyObject *__pyx_tuple__257;
static PyObject *__pyx_tuple__258;
static PyObject *__pyx_tuple__259;
static PyObject *__pyx_tuple__260;
static PyObject *__pyx_tuple__261;
static PyObject *__pyx_tuple__262;
static PyObject *__pyx_tuple__263;
static PyObject *__pyx_tuple__264;
static PyObject *__pyx_tuple__265;
static PyObject *__pyx_tuple__266;
static PyObject *__pyx_tuple__267;
static PyObject *__pyx_tuple__268;
static PyObject *__pyx_tuple__269;
static PyObject *__pyx_tuple__270;
static PyObject *__pyx_tuple__271;
static PyObject *__pyx_tuple__272;
static PyObject *__pyx_tuple__273;
static PyObject *__pyx_tuple__274;
static PyObject *__pyx_tuple__275;
static PyObject *__pyx_tuple__276;
static PyObject *__pyx_tuple__277;
static PyObject *__pyx_tuple__278;
static PyObject *__pyx_tuple__279;
static PyObject *__pyx_tuple__280;
static PyObject *__pyx_tuple__281;
static PyObject *__pyx_tuple__282;
static PyObject *__pyx_tuple__283;
static PyObject *__pyx_tuple__284;
static PyObject *__pyx_tuple__285;
static PyObject *__pyx_tuple__286;
static PyObject *__pyx_tuple__287;
static PyObject *__pyx_tuple__288;
static PyObject *__pyx_tuple__289;
static PyObject *__pyx_tuple__290;
static PyObject *__pyx_tuple__291;
static PyObject *__pyx_tuple__292;
static PyObject *__pyx_tuple__293;
static PyObject *__pyx_tuple__294;
static PyObject *__pyx_tuple__297;
static PyObject *__pyx_tuple__299;
static PyObject *__pyx_tuple__301;
static PyObject *__pyx_tuple__303;
static PyObject *__pyx_tuple__305;
static PyObject *__pyx_tuple__307;
static PyObject *__pyx_tuple__309;
static PyObject *__pyx_tuple__311;
static PyObject *__pyx_tuple__312;
static PyObject *__pyx_tuple__314;
static PyObject *__pyx_tuple__316;
static PyObject *__pyx_codeobj__298;
static PyObject *__pyx_codeobj__300;
static PyObject *__pyx_codeobj__302;
static PyObject *__pyx_codeobj__304;
static PyObject *__pyx_codeobj__306;
static PyObject *__pyx_codeobj__308;
static PyObject *__pyx_codeobj__310;
static PyObject *__pyx_codeobj__313;
static PyObject *__pyx_codeobj__315;
static PyObject *__pyx_codeobj__317;
/* Late includes */

/* "src/amqp_definitions.pyx":21
 * 
 * 
 * cpdef create_data(char* binary_data):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQP_VALUE body_data
 *     cdef c_amqpvalue.amqp_binary _binary
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_1create_data(PyObject *__pyx_self, PyObject *__pyx_arg_binary_data); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_data(char *__pyx_v_binary_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_body_data;
  amqp_binary __pyx_v__binary;
  Py_ssize_t __pyx_v_length;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("create_data", 0);

  /* "src/amqp_definitions.pyx":24
 *     cdef c_amqpvalue.AMQP_VALUE body_data
 *     cdef c_amqpvalue.amqp_binary _binary
 *     length = len(binary_data)             # <<<<<<<<<<<<<<
 *     _binary.length = length
 *     _binary.bytes = <void*>binary_data
 */
  __pyx_t_1 = strlen(__pyx_v_binary_data); 
  __pyx_v_length = __pyx_t_1;

  /* "src/amqp_definitions.pyx":25
 *     cdef c_amqpvalue.amqp_binary _binary
 *     length = len(binary_data)
 *     _binary.length = length             # <<<<<<<<<<<<<<
 *     _binary.bytes = <void*>binary_data
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 */
  __pyx_v__binary.length = __pyx_v_length;

  /* "src/amqp_definitions.pyx":26
 *     length = len(binary_data)
 *     _binary.length = length
 *     _binary.bytes = <void*>binary_data             # <<<<<<<<<<<<<<
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 *     if <void*>body_data == NULL:
 */
  __pyx_v__binary.bytes = ((void *)__pyx_v_binary_data);

  /* "src/amqp_definitions.pyx":27
 *     _binary.length = length
 *     _binary.bytes = <void*>binary_data
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)             # <<<<<<<<<<<<<<
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")
 */
  __pyx_v_body_data = amqpvalue_create_data(__pyx_v__binary);

  /* "src/amqp_definitions.pyx":28
 *     _binary.bytes = <void*>binary_data
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 *     if <void*>body_data == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)
 */
  __pyx_t_2 = ((((void *)__pyx_v_body_data) == NULL) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "src/amqp_definitions.pyx":29
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")             # <<<<<<<<<<<<<<
 *     return value_factory(body_data)
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 29, __pyx_L1_error)

    /* "src/amqp_definitions.pyx":28
 *     _binary.bytes = <void*>binary_data
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 *     if <void*>body_data == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)
 */
  }

  /* "src/amqp_definitions.pyx":30
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_body_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/amqp_definitions.pyx":21
 * 
 * 
 * cpdef create_data(char* binary_data):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQP_VALUE body_data
 *     cdef c_amqpvalue.amqp_binary _binary
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_1create_data(PyObject *__pyx_self, PyObject *__pyx_arg_binary_data); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_1create_data(PyObject *__pyx_self, PyObject *__pyx_arg_binary_data) {
  char *__pyx_v_binary_data;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_data (wrapper)", 0);
  assert(__pyx_arg_binary_data); {
    __pyx_v_binary_data = __Pyx_PyObject_AsWritableString(__pyx_arg_binary_data); if (unlikely((!__pyx_v_binary_data) && PyErr_Occurred())) __PYX_ERR(1, 21, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_create_data(__pyx_self, ((char *)__pyx_v_binary_data));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_create_data(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_binary_data) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_data", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_data(__pyx_v_binary_data, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_definitions.pyx":33
 * 
 * 
 * cpdef create_sequence(AMQPValue sequence_data):             # <<<<<<<<<<<<<<
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_3create_sequence(PyObject *__pyx_self, PyObject *__pyx_v_sequence_data); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_sequence(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_body_data;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("create_sequence", 0);

  /* "src/amqp_definitions.pyx":34
 * 
 * cpdef create_sequence(AMQPValue sequence_data):
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)             # <<<<<<<<<<<<<<
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")
 */
  __pyx_v_body_data = amqpvalue_create_amqp_sequence(__pyx_v_sequence_data->_c_value);

  /* "src/amqp_definitions.pyx":35
 * cpdef create_sequence(AMQPValue sequence_data):
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)
 */
  __pyx_t_1 = ((((void *)__pyx_v_body_data) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/amqp_definitions.pyx":36
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")             # <<<<<<<<<<<<<<
 *     return value_factory(body_data)
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 36, __pyx_L1_error)

    /* "src/amqp_definitions.pyx":35
 * cpdef create_sequence(AMQPValue sequence_data):
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)
 */
  }

  /* "src/amqp_definitions.pyx":37
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")
 *     return value_factory(body_data)             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_body_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/amqp_definitions.pyx":33
 * 
 * 
 * cpdef create_sequence(AMQPValue sequence_data):             # <<<<<<<<<<<<<<
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3create_sequence(PyObject *__pyx_self, PyObject *__pyx_v_sequence_data); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3create_sequence(PyObject *__pyx_self, PyObject *__pyx_v_sequence_data) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_sequence (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sequence_data), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "sequence_data", 0))) __PYX_ERR(1, 33, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_2create_sequence(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_sequence_data));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_2create_sequence(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence_data) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_sequence", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_sequence(__pyx_v_sequence_data, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":18
 * 
 * 
 * cpdef create_management_operation(cSession session, const char* management_node):             # <<<<<<<<<<<<<<
 *     mgr_op = cManagementOperation()
 *     mgr_op.create(session, management_node)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5create_management_operation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_management_operation(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_management_node, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_mgr_op = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_management_operation", 0);

  /* "src/amqp_management.pyx":19
 * 
 * cpdef create_management_operation(cSession session, const char* management_node):
 *     mgr_op = cManagementOperation()             # <<<<<<<<<<<<<<
 *     mgr_op.create(session, management_node)
 *     return mgr_op
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cManagementOperation)); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_mgr_op = ((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":20
 * cpdef create_management_operation(cSession session, const char* management_node):
 *     mgr_op = cManagementOperation()
 *     mgr_op.create(session, management_node)             # <<<<<<<<<<<<<<
 *     return mgr_op
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_mgr_op->__pyx_vtab)->create(__pyx_v_mgr_op, __pyx_v_session, __pyx_v_management_node); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":21
 *     mgr_op = cManagementOperation()
 *     mgr_op.create(session, management_node)
 *     return mgr_op             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_mgr_op));
  __pyx_r = ((PyObject *)__pyx_v_mgr_op);
  goto __pyx_L0;

  /* "src/amqp_management.pyx":18
 * 
 * 
 * cpdef create_management_operation(cSession session, const char* management_node):             # <<<<<<<<<<<<<<
 *     mgr_op = cManagementOperation()
 *     mgr_op.create(session, management_node)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_management_operation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_mgr_op);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5create_management_operation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5create_management_operation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session = 0;
  char const *__pyx_v_management_node;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_management_operation (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_session,&__pyx_n_s_management_node,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_session)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_management_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_management_operation", 1, 2, 2, 1); __PYX_ERR(8, 18, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_management_operation") < 0)) __PYX_ERR(8, 18, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)values[0]);
    __pyx_v_management_node = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_management_node) && PyErr_Occurred())) __PYX_ERR(8, 18, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_management_operation", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 18, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_management_operation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_session), __pyx_ptype_5uamqp_7c_uamqp_cSession, 1, "session", 0))) __PYX_ERR(8, 18, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_4create_management_operation(__pyx_self, __pyx_v_session, __pyx_v_management_node);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_4create_management_operation(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_management_node) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_management_operation", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_management_operation(__pyx_v_session, __pyx_v_management_node, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_management_operation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":29
 *     cdef _session
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":32
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cManagementOperation")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/amqp_management.pyx":33
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cManagementOperation")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":34
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cManagementOperation")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":32
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cManagementOperation")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cManagementOperation.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/amqp_management.pyx":36
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation__validate(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/amqp_management.pyx":37
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqp_management.pyx":38
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 38, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 38, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_management.pyx":37
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/amqp_management.pyx":36
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":40
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cManagementOperation")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 40, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 40, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 40, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":41
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cManagementOperation")
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/amqp_management.pyx":42
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cManagementOperation")             # <<<<<<<<<<<<<<
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 *             self._c_value = <c_amqp_management.AMQP_MANAGEMENT_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":43
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cManagementOperation")
 *             c_amqp_management.amqp_management_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_amqp_management.AMQP_MANAGEMENT_HANDLE>NULL
 *             self._session = None
 */
    amqp_management_destroy(__pyx_v_self->_c_value);

    /* "src/amqp_management.pyx":44
 *             _logger.debug("Destroying cManagementOperation")
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 *             self._c_value = <c_amqp_management.AMQP_MANAGEMENT_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._session = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/amqp_management.pyx":45
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 *             self._c_value = <c_amqp_management.AMQP_MANAGEMENT_HANDLE>NULL
 *             self._session = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, cManagementOperation value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_session);
    __Pyx_DECREF(__pyx_v_self->_session);
    __pyx_v_self->_session = Py_None;

    /* "src/amqp_management.pyx":41
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cManagementOperation")
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 */
  }

  /* "src/amqp_management.pyx":40
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cManagementOperation")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":47
 *             self._session = None
 * 
 *     cdef wrap(self, cManagementOperation value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = value._session
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  AMQP_MANAGEMENT_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/amqp_management.pyx":48
 * 
 *     cdef wrap(self, cManagementOperation value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._session = value._session
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":49
 *     cdef wrap(self, cManagementOperation value):
 *         self.destroy()
 *         self._session = value._session             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._validate()
 */
  __pyx_t_1 = __pyx_v_value->_session;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_session);
  __Pyx_DECREF(__pyx_v_self->_session);
  __pyx_v_self->_session = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":50
 *         self.destroy()
 *         self._session = value._session
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/amqp_management.pyx":51
 *         self._session = value._session
 *         self._c_value = value._c_value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, cSession session, const char* management_node):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":47
 *             self._session = None
 * 
 *     cdef wrap(self, cManagementOperation value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = value._session
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":53
 *         self._validate()
 * 
 *     cdef create(self, cSession session, const char* management_node):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = session
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_create(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_management_node) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqp_management.pyx":54
 * 
 *     cdef create(self, cSession session, const char* management_node):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._session = session
 *         self._c_value = c_amqp_management.amqp_management_create(<c_session.SESSION_HANDLE>session._c_value, management_node)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":55
 *     cdef create(self, cSession session, const char* management_node):
 *         self.destroy()
 *         self._session = session             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_management.amqp_management_create(<c_session.SESSION_HANDLE>session._c_value, management_node)
 *         self._validate()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_session));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_session));
  __Pyx_GOTREF(__pyx_v_self->_session);
  __Pyx_DECREF(__pyx_v_self->_session);
  __pyx_v_self->_session = ((PyObject *)__pyx_v_session);

  /* "src/amqp_management.pyx":56
 *         self.destroy()
 *         self._session = session
 *         self._c_value = c_amqp_management.amqp_management_create(<c_session.SESSION_HANDLE>session._c_value, management_node)             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = amqp_management_create(__pyx_v_session->_c_value, __pyx_v_management_node);

  /* "src/amqp_management.pyx":57
 *         self._session = session
 *         self._c_value = c_amqp_management.amqp_management_create(<c_session.SESSION_HANDLE>session._c_value, management_node)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":53
 *         self._validate()
 * 
 *     cdef create(self, cSession session, const char* management_node):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = session
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":59
 *         self._validate()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_amqp_management.amqp_management_set_trace(self._c_value, value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_7set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_7set_trace)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 59, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 59, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 59, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 59, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(8, 59, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 59, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":60
 * 
 *     cpdef set_trace(self, bint value):
 *         c_amqp_management.amqp_management_set_trace(self._c_value, value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):
 */
  amqp_management_set_trace(__pyx_v_self->_c_value, __pyx_v_value);

  /* "src/amqp_management.pyx":59
 *         self._validate()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_amqp_management.amqp_management_set_trace(self._c_value, value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_7set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_7set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_trace (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(8, 59, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_6set_trace(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_6set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_trace(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":62
 *         c_amqp_management.amqp_management_set_trace(self._c_value, value)
 * 
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_9set_response_field_names(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_response_field_names(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  __Pyx_RefNannySetupContext("set_response_field_names", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_response_field_names); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_9set_response_field_names)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_status_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 62, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_status_description); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 62, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 62, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 62, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(8, 62, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 62, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":63
 * 
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 */
  __pyx_t_9 = ((amqp_management_set_override_status_code_key_name(__pyx_v_self->_c_value, __pyx_v_status_code) != 0) != 0);
  if (__pyx_t_9) {

    /* "src/amqp_management.pyx":64
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 *             self._value_error("Failed to set status description field name.")
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_management.pyx":63
 * 
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 */
  }

  /* "src/amqp_management.pyx":65
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set status description field name.")
 * 
 */
  __pyx_t_9 = ((amqp_management_set_override_status_description_key_name(__pyx_v_self->_c_value, __pyx_v_status_description) != 0) != 0);
  if (__pyx_t_9) {

    /* "src/amqp_management.pyx":66
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 *             self._value_error("Failed to set status description field name.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self, callback_context):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":65
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set status description field name.")
 * 
 */
  }

  /* "src/amqp_management.pyx":62
 *         c_amqp_management.amqp_management_set_trace(self._c_value, value)
 * 
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_response_field_names", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_9set_response_field_names(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_9set_response_field_names(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_status_code;
  char const *__pyx_v_status_description;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_response_field_names (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status_code,&__pyx_n_s_status_description,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_code)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_response_field_names", 1, 2, 2, 1); __PYX_ERR(8, 62, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_response_field_names") < 0)) __PYX_ERR(8, 62, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_status_code = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_status_code) && PyErr_Occurred())) __PYX_ERR(8, 62, __pyx_L3_error)
    __pyx_v_status_description = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_status_description) && PyErr_Occurred())) __PYX_ERR(8, 62, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_response_field_names", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 62, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_response_field_names", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_8set_response_field_names(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self), __pyx_v_status_code, __pyx_v_status_description);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_8set_response_field_names(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_status_code, char const *__pyx_v_status_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_response_field_names", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_response_field_names(__pyx_v_self, __pyx_v_status_code, __pyx_v_status_description, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.set_response_field_names", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":68
 *             self._value_error("Failed to set status description field name.")
 * 
 *     cpdef open(self, callback_context):             # <<<<<<<<<<<<<<
 *         cdef void *context
 *         if callback_context is None:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_11open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_open(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch) {
  void *__pyx_v_context;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("open", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_11open)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_callback_context); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 68, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_callback_context};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 68, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_callback_context};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 68, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 68, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_callback_context);
          __Pyx_GIVEREF(__pyx_v_callback_context);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_callback_context);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 68, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":70
 *     cpdef open(self, callback_context):
 *         cdef void *context
 *         if callback_context is None:             # <<<<<<<<<<<<<<
 *             context = <void*>NULL
 *         else:
 */
  __pyx_t_6 = (__pyx_v_callback_context == Py_None);
  __pyx_t_7 = (__pyx_t_6 != 0);
  if (__pyx_t_7) {

    /* "src/amqp_management.pyx":71
 *         cdef void *context
 *         if callback_context is None:
 *             context = <void*>NULL             # <<<<<<<<<<<<<<
 *         else:
 *             context = <void*>callback_context
 */
    __pyx_v_context = ((void *)NULL);

    /* "src/amqp_management.pyx":70
 *     cpdef open(self, callback_context):
 *         cdef void *context
 *         if callback_context is None:             # <<<<<<<<<<<<<<
 *             context = <void*>NULL
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/amqp_management.pyx":73
 *             context = <void*>NULL
 *         else:
 *             context = <void*>callback_context             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_open_async(self._c_value, on_amqp_management_open_complete, context, on_amqp_management_error, context) != 0:
 *             self._value_error("Unable to open management link.")
 */
  /*else*/ {
    __pyx_v_context = ((void *)__pyx_v_callback_context);
  }
  __pyx_L3:;

  /* "src/amqp_management.pyx":74
 *         else:
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_open_async(self._c_value, on_amqp_management_open_complete, context, on_amqp_management_error, context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to open management link.")
 * 
 */
  __pyx_t_7 = ((amqp_management_open_async(__pyx_v_self->_c_value, __pyx_f_5uamqp_7c_uamqp_on_amqp_management_open_complete, __pyx_v_context, __pyx_f_5uamqp_7c_uamqp_on_amqp_management_error, __pyx_v_context) != 0) != 0);
  if (__pyx_t_7) {

    /* "src/amqp_management.pyx":75
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_open_async(self._c_value, on_amqp_management_open_complete, context, on_amqp_management_error, context) != 0:
 *             self._value_error("Unable to open management link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_management.pyx":74
 *         else:
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_open_async(self._c_value, on_amqp_management_open_complete, context, on_amqp_management_error, context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to open management link.")
 * 
 */
  }

  /* "src/amqp_management.pyx":68
 *             self._value_error("Failed to set status description field name.")
 * 
 *     cpdef open(self, callback_context):             # <<<<<<<<<<<<<<
 *         cdef void *context
 *         if callback_context is None:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_11open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_11open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("open (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_10open(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self), ((PyObject *)__pyx_v_callback_context));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_10open(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("open", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_open(__pyx_v_self, __pyx_v_callback_context, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":77
 *             self._value_error("Unable to open management link.")
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:
 *             self._value_error("Unable to close management link.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_13close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_close(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("close", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_13close)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 77, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 77, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":78
 * 
 *     cpdef close(self):
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to close management link.")
 * 
 */
  __pyx_t_5 = ((amqp_management_close(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/amqp_management.pyx":79
 *     cpdef close(self):
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:
 *             self._value_error("Unable to close management link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef execute(self, const char* operation, const char* type, locales, cMessage message, callback_context):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_management.pyx":78
 * 
 *     cpdef close(self):
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to close management link.")
 * 
 */
  }

  /* "src/amqp_management.pyx":77
 *             self._value_error("Unable to open management link.")
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:
 *             self._value_error("Unable to close management link.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_13close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_13close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_12close(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_12close(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("close", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":81
 *             self._value_error("Unable to close management link.")
 * 
 *     cpdef execute(self, const char* operation, const char* type, locales, cMessage message, callback_context):             # <<<<<<<<<<<<<<
 *         cdef const char* c_locales
 *         cdef void *context
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_15execute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_execute(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_operation, char const *__pyx_v_type, PyObject *__pyx_v_locales, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch) {
  char const *__pyx_v_c_locales;
  void *__pyx_v_context;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  __Pyx_RefNannySetupContext("execute", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_execute); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_15execute)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 81, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 81, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_v_locales, ((PyObject *)__pyx_v_message), __pyx_v_callback_context};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 81, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_v_locales, ((PyObject *)__pyx_v_message), __pyx_v_callback_context};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 81, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(8, 81, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
        __Pyx_INCREF(__pyx_v_locales);
        __Pyx_GIVEREF(__pyx_v_locales);
        PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_locales);
        __Pyx_INCREF(((PyObject *)__pyx_v_message));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_message));
        PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_7, ((PyObject *)__pyx_v_message));
        __Pyx_INCREF(__pyx_v_callback_context);
        __Pyx_GIVEREF(__pyx_v_callback_context);
        PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_7, __pyx_v_callback_context);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 81, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_management.pyx":84
 *         cdef const char* c_locales
 *         cdef void *context
 *         if locales is None:             # <<<<<<<<<<<<<<
 *             c_locales = <const char*>NULL
 *         else:
 */
  __pyx_t_9 = (__pyx_v_locales == Py_None);
  __pyx_t_10 = (__pyx_t_9 != 0);
  if (__pyx_t_10) {

    /* "src/amqp_management.pyx":85
 *         cdef void *context
 *         if locales is None:
 *             c_locales = <const char*>NULL             # <<<<<<<<<<<<<<
 *         else:
 *             c_locales = <const char*>locales
 */
    __pyx_v_c_locales = ((char const *)NULL);

    /* "src/amqp_management.pyx":84
 *         cdef const char* c_locales
 *         cdef void *context
 *         if locales is None:             # <<<<<<<<<<<<<<
 *             c_locales = <const char*>NULL
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/amqp_management.pyx":87
 *             c_locales = <const char*>NULL
 *         else:
 *             c_locales = <const char*>locales             # <<<<<<<<<<<<<<
 *         if callback_context is None:
 *             context = <void*>NULL
 */
  /*else*/ {
    __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_locales); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(8, 87, __pyx_L1_error)
    __pyx_v_c_locales = ((char const *)__pyx_t_11);
  }
  __pyx_L3:;

  /* "src/amqp_management.pyx":88
 *         else:
 *             c_locales = <const char*>locales
 *         if callback_context is None:             # <<<<<<<<<<<<<<
 *             context = <void*>NULL
 *         else:
 */
  __pyx_t_10 = (__pyx_v_callback_context == Py_None);
  __pyx_t_9 = (__pyx_t_10 != 0);
  if (__pyx_t_9) {

    /* "src/amqp_management.pyx":89
 *             c_locales = <const char*>locales
 *         if callback_context is None:
 *             context = <void*>NULL             # <<<<<<<<<<<<<<
 *         else:
 *             context = <void*>callback_context
 */
    __pyx_v_context = ((void *)NULL);

    /* "src/amqp_management.pyx":88
 *         else:
 *             c_locales = <const char*>locales
 *         if callback_context is None:             # <<<<<<<<<<<<<<
 *             context = <void*>NULL
 *         else:
 */
    goto __pyx_L4;
  }

  /* "src/amqp_management.pyx":91
 *             context = <void*>NULL
 *         else:
 *             context = <void*>callback_context             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_execute_operation_async(self._c_value, operation, type, c_locales, message._c_value, on_execute_operation_complete, context) != 0:
 *             self._value_error("Unable to execute management operation.")
 */
  /*else*/ {
    __pyx_v_context = ((void *)__pyx_v_callback_context);
  }
  __pyx_L4:;

  /* "src/amqp_management.pyx":92
 *         else:
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_execute_operation_async(self._c_value, operation, type, c_locales, message._c_value, on_execute_operation_complete, context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to execute management operation.")
 * 
 */
  __pyx_t_9 = ((amqp_management_execute_operation_async(__pyx_v_self->_c_value, __pyx_v_operation, __pyx_v_type, __pyx_v_c_locales, __pyx_v_message->_c_value, __pyx_f_5uamqp_7c_uamqp_on_execute_operation_complete, __pyx_v_context) != 0) != 0);
  if (__pyx_t_9) {

    /* "src/amqp_management.pyx":93
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_execute_operation_async(self._c_value, operation, type, c_locales, message._c_value, on_execute_operation_complete, context) != 0:
 *             self._value_error("Unable to execute management operation.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_management.pyx":92
 *         else:
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_execute_operation_async(self._c_value, operation, type, c_locales, message._c_value, on_execute_operation_complete, context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to execute management operation.")
 * 
 */
  }

  /* "src/amqp_management.pyx":81
 *             self._value_error("Unable to close management link.")
 * 
 *     cpdef execute(self, const char* operation, const char* type, locales, cMessage message, callback_context):             # <<<<<<<<<<<<<<
 *         cdef const char* c_locales
 *         cdef void *context
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.execute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_15execute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_15execute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_operation;
  char const *__pyx_v_type;
  PyObject *__pyx_v_locales = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message = 0;
  PyObject *__pyx_v_callback_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("execute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_operation,&__pyx_n_s_type,&__pyx_n_s_locales,&__pyx_n_s_message,&__pyx_n_s_callback_context,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_operation)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("execute", 1, 5, 5, 1); __PYX_ERR(8, 81, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_locales)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("execute", 1, 5, 5, 2); __PYX_ERR(8, 81, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("execute", 1, 5, 5, 3); __PYX_ERR(8, 81, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("execute", 1, 5, 5, 4); __PYX_ERR(8, 81, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "execute") < 0)) __PYX_ERR(8, 81, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_operation = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_operation) && PyErr_Occurred())) __PYX_ERR(8, 81, __pyx_L3_error)
    __pyx_v_type = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_type) && PyErr_Occurred())) __PYX_ERR(8, 81, __pyx_L3_error)
    __pyx_v_locales = values[2];
    __pyx_v_message = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)values[3]);
    __pyx_v_callback_context = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("execute", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 81, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.execute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_message), __pyx_ptype_5uamqp_7c_uamqp_cMessage, 1, "message", 0))) __PYX_ERR(8, 81, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_14execute(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self), __pyx_v_operation, __pyx_v_type, __pyx_v_locales, __pyx_v_message, __pyx_v_callback_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_14execute(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, char const *__pyx_v_operation, char const *__pyx_v_type, PyObject *__pyx_v_locales, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("execute", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cManagementOperation_execute(__pyx_v_self, __pyx_v_operation, __pyx_v_type, __pyx_v_locales, __pyx_v_message, __pyx_v_callback_context, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.execute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_16__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_18__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cManagementOperation_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cManagementOperation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_management.pyx":98
 * #### Management Link Callbacks
 * 
 * cdef void on_amqp_management_open_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG open_result):             # <<<<<<<<<<<<<<
 *     _logger.debug("Management link open: %r", open_result)
 *     if context != NULL:
 */

static void __pyx_f_5uamqp_7c_uamqp_on_amqp_management_open_complete(void *__pyx_v_context, enum AMQP_MANAGEMENT_OPEN_RESULT_TAG __pyx_v_open_result) {
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("on_amqp_management_open_complete", 0);

  /* "src/amqp_management.pyx":99
 * 
 * cdef void on_amqp_management_open_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG open_result):
 *     _logger.debug("Management link open: %r", open_result)             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_obj = <object>context
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(__pyx_v_open_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Management_link_open_r, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 99, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Management_link_open_r, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 99, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(8, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_Management_link_open_r);
    __Pyx_GIVEREF(__pyx_kp_s_Management_link_open_r);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_Management_link_open_r);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":100
 * cdef void on_amqp_management_open_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG open_result):
 *     _logger.debug("Management link open: %r", open_result)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._management_open_complete(open_result)
 */
  __pyx_t_7 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_7) {

    /* "src/amqp_management.pyx":101
 *     _logger.debug("Management link open: %r", open_result)
 *     if context != NULL:
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         context_obj._management_open_complete(open_result)
 * 
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_context_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":102
 *     if context != NULL:
 *         context_obj = <object>context
 *         context_obj._management_open_complete(open_result)             # <<<<<<<<<<<<<<
 * 
 * cdef void on_amqp_management_error(void* context):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_management_open_complete); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(__pyx_v_open_result); if (unlikely(!__pyx_t_6)) __PYX_ERR(8, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_2) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 102, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 102, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 102, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 102, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 102, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":100
 * cdef void on_amqp_management_open_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG open_result):
 *     _logger.debug("Management link open: %r", open_result)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._management_open_complete(open_result)
 */
  }

  /* "src/amqp_management.pyx":98
 * #### Management Link Callbacks
 * 
 * cdef void on_amqp_management_open_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG open_result):             # <<<<<<<<<<<<<<
 *     _logger.debug("Management link open: %r", open_result)
 *     if context != NULL:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_amqp_management_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/amqp_management.pyx":104
 *         context_obj._management_open_complete(open_result)
 * 
 * cdef void on_amqp_management_error(void* context):             # <<<<<<<<<<<<<<
 *     _logger.debug("Management link error")
 *     if context != NULL:
 */

static void __pyx_f_5uamqp_7c_uamqp_on_amqp_management_error(void *__pyx_v_context) {
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("on_amqp_management_error", 0);

  /* "src/amqp_management.pyx":105
 * 
 * cdef void on_amqp_management_error(void* context):
 *     _logger.debug("Management link error")             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_obj = <object>context
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":106
 * cdef void on_amqp_management_error(void* context):
 *     _logger.debug("Management link error")
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._management_operation_error()
 */
  __pyx_t_3 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_3) {

    /* "src/amqp_management.pyx":107
 *     _logger.debug("Management link error")
 *     if context != NULL:
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         context_obj._management_operation_error()
 * 
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_context_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":108
 *     if context != NULL:
 *         context_obj = <object>context
 *         context_obj._management_operation_error()             # <<<<<<<<<<<<<<
 * 
 * cdef void on_execute_operation_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG execute_operation_result, unsigned int status_code, const char* status_description, c_message.MESSAGE_HANDLE message):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_management_operation_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 108, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 108, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":106
 * cdef void on_amqp_management_error(void* context):
 *     _logger.debug("Management link error")
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._management_operation_error()
 */
  }

  /* "src/amqp_management.pyx":104
 *         context_obj._management_open_complete(open_result)
 * 
 * cdef void on_amqp_management_error(void* context):             # <<<<<<<<<<<<<<
 *     _logger.debug("Management link error")
 *     if context != NULL:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_amqp_management_error", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/amqp_management.pyx":110
 *         context_obj._management_operation_error()
 * 
 * cdef void on_execute_operation_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG execute_operation_result, unsigned int status_code, const char* status_description, c_message.MESSAGE_HANDLE message):             # <<<<<<<<<<<<<<
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     description = "None" if <void*>status_description == NULL else status_description
 */

static void __pyx_f_5uamqp_7c_uamqp_on_execute_operation_complete(void *__pyx_v_context, enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG __pyx_v_execute_operation_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description, MESSAGE_HANDLE __pyx_v_message) {
  MESSAGE_HANDLE __pyx_v_cloned;
  PyObject *__pyx_v_description = NULL;
  PyObject *__pyx_v_context_obj = NULL;
  PyObject *__pyx_v_wrapped_message = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("on_execute_operation_complete", 0);

  /* "src/amqp_management.pyx":112
 * cdef void on_execute_operation_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG execute_operation_result, unsigned int status_code, const char* status_description, c_message.MESSAGE_HANDLE message):
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     description = "None" if <void*>status_description == NULL else status_description             # <<<<<<<<<<<<<<
 *     _logger.debug("Management op complete: %r, status code: %r, description: %r", execute_operation_result, status_code, description)
 *     if context != NULL:
 */
  if (((((void *)__pyx_v_status_description) == NULL) != 0)) {
    __Pyx_INCREF(__pyx_n_s_None);
    __pyx_t_1 = __pyx_n_s_None;
  } else {
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_status_description); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
  }
  __pyx_v_description = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":113
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     description = "None" if <void*>status_description == NULL else status_description
 *     _logger.debug("Management op complete: %r, status code: %r, description: %r", execute_operation_result, status_code, description)             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_obj = <object>context
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(__pyx_v_execute_operation_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_kp_s_Management_op_complete_r_status, __pyx_t_2, __pyx_t_4, __pyx_v_description};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 113, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_kp_s_Management_op_complete_r_status, __pyx_t_2, __pyx_t_4, __pyx_v_description};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 113, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(8, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_Management_op_complete_r_status);
    __Pyx_GIVEREF(__pyx_kp_s_Management_op_complete_r_status);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_Management_op_complete_r_status);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_description);
    __Pyx_GIVEREF(__pyx_v_description);
    PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_description);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_management.pyx":114
 *     description = "None" if <void*>status_description == NULL else status_description
 *     _logger.debug("Management op complete: %r, status code: %r, description: %r", execute_operation_result, status_code, description)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if status_code == 0:
 */
  __pyx_t_8 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_8) {

    /* "src/amqp_management.pyx":115
 *     _logger.debug("Management op complete: %r, status code: %r, description: %r", execute_operation_result, status_code, description)
 *     if context != NULL:
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         if status_code == 0:
 *             context_obj(execute_operation_result, status_code, description, None)
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_context_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/amqp_management.pyx":116
 *     if context != NULL:
 *         context_obj = <object>context
 *         if status_code == 0:             # <<<<<<<<<<<<<<
 *             context_obj(execute_operation_result, status_code, description, None)
 *         else:
 */
    __pyx_t_8 = ((__pyx_v_status_code == 0) != 0);
    if (__pyx_t_8) {

      /* "src/amqp_management.pyx":117
 *         context_obj = <object>context
 *         if status_code == 0:
 *             context_obj(execute_operation_result, status_code, description, None)             # <<<<<<<<<<<<<<
 *         else:
 *             if <void*>message != NULL:
 */
      __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(__pyx_v_execute_operation_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(8, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_INCREF(__pyx_v_context_obj);
      __pyx_t_4 = __pyx_v_context_obj; __pyx_t_2 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_t_3, __pyx_t_7, __pyx_v_description, Py_None};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 117, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_t_3, __pyx_t_7, __pyx_v_description, Py_None};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 117, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 117, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (__pyx_t_2) {
          __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_t_7);
        __Pyx_INCREF(__pyx_v_description);
        __Pyx_GIVEREF(__pyx_v_description);
        PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_description);
        __Pyx_INCREF(Py_None);
        __Pyx_GIVEREF(Py_None);
        PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, Py_None);
        __pyx_t_3 = 0;
        __pyx_t_7 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 117, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/amqp_management.pyx":116
 *     if context != NULL:
 *         context_obj = <object>context
 *         if status_code == 0:             # <<<<<<<<<<<<<<
 *             context_obj(execute_operation_result, status_code, description, None)
 *         else:
 */
      goto __pyx_L4;
    }

    /* "src/amqp_management.pyx":119
 *             context_obj(execute_operation_result, status_code, description, None)
 *         else:
 *             if <void*>message != NULL:             # <<<<<<<<<<<<<<
 *                 cloned = c_message.message_clone(message)
 *                 wrapped_message = message_factory(cloned)
 */
    /*else*/ {
      __pyx_t_8 = ((((void *)__pyx_v_message) != NULL) != 0);
      if (__pyx_t_8) {

        /* "src/amqp_management.pyx":120
 *         else:
 *             if <void*>message != NULL:
 *                 cloned = c_message.message_clone(message)             # <<<<<<<<<<<<<<
 *                 wrapped_message = message_factory(cloned)
 *             else:
 */
        __pyx_v_cloned = message_clone(__pyx_v_message);

        /* "src/amqp_management.pyx":121
 *             if <void*>message != NULL:
 *                 cloned = c_message.message_clone(message)
 *                 wrapped_message = message_factory(cloned)             # <<<<<<<<<<<<<<
 *             else:
 *                 wrapped_message = None
 */
        __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_message_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 121, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_v_wrapped_message = __pyx_t_1;
        __pyx_t_1 = 0;

        /* "src/amqp_management.pyx":119
 *             context_obj(execute_operation_result, status_code, description, None)
 *         else:
 *             if <void*>message != NULL:             # <<<<<<<<<<<<<<
 *                 cloned = c_message.message_clone(message)
 *                 wrapped_message = message_factory(cloned)
 */
        goto __pyx_L5;
      }

      /* "src/amqp_management.pyx":123
 *                 wrapped_message = message_factory(cloned)
 *             else:
 *                 wrapped_message = None             # <<<<<<<<<<<<<<
 *             context_obj(execute_operation_result, status_code, description, wrapped_message)
 */
      /*else*/ {
        __Pyx_INCREF(Py_None);
        __pyx_v_wrapped_message = Py_None;
      }
      __pyx_L5:;

      /* "src/amqp_management.pyx":124
 *             else:
 *                 wrapped_message = None
 *             context_obj(execute_operation_result, status_code, description, wrapped_message)             # <<<<<<<<<<<<<<
 */
      __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(__pyx_v_execute_operation_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_v_context_obj);
      __pyx_t_7 = __pyx_v_context_obj; __pyx_t_3 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_7, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_v_description, __pyx_v_wrapped_message};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 124, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_v_description, __pyx_v_wrapped_message};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 124, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 124, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (__pyx_t_3) {
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_t_5);
        __Pyx_INCREF(__pyx_v_description);
        __Pyx_GIVEREF(__pyx_v_description);
        PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_v_description);
        __Pyx_INCREF(__pyx_v_wrapped_message);
        __Pyx_GIVEREF(__pyx_v_wrapped_message);
        PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_6, __pyx_v_wrapped_message);
        __pyx_t_4 = 0;
        __pyx_t_5 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 124, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L4:;

    /* "src/amqp_management.pyx":114
 *     description = "None" if <void*>status_description == NULL else status_description
 *     _logger.debug("Management op complete: %r, status code: %r, description: %r", execute_operation_result, status_code, description)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if status_code == 0:
 */
  }

  /* "src/amqp_management.pyx":110
 *         context_obj._management_operation_error()
 * 
 * cdef void on_execute_operation_complete(void* context, c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG execute_operation_result, unsigned int status_code, const char* status_description, c_message.MESSAGE_HANDLE message):             # <<<<<<<<<<<<<<
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     description = "None" if <void*>status_description == NULL else status_description
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_execute_operation_complete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_description);
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_XDECREF(__pyx_v_wrapped_message);
  __Pyx_RefNannyFinishContext();
}

/* "src/amqp_string.pyx":18
 * 
 * 
 * cpdef create_empty_string():             # <<<<<<<<<<<<<<
 *     new_string = AMQPString()
 *     return new_string
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7create_empty_string(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_empty_string(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_new_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_empty_string", 0);

  /* "src/amqp_string.pyx":19
 * 
 * cpdef create_empty_string():
 *     new_string = AMQPString()             # <<<<<<<<<<<<<<
 *     return new_string
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPString)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_string = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":20
 * cpdef create_empty_string():
 *     new_string = AMQPString()
 *     return new_string             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_string));
  __pyx_r = ((PyObject *)__pyx_v_new_string);
  goto __pyx_L0;

  /* "src/amqp_string.pyx":18
 * 
 * 
 * cpdef create_empty_string():             # <<<<<<<<<<<<<<
 *     new_string = AMQPString()
 *     return new_string
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_empty_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7create_empty_string(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7create_empty_string(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_empty_string (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6create_empty_string(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6create_empty_string(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_empty_string", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_empty_string(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_empty_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":23
 * 
 * 
 * cpdef create_string_from_value(value, encoding='UTF-8'):             # <<<<<<<<<<<<<<
 *     if isinstance(value, six.text_type):
 *         value = value.encode(encoding)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9create_string_from_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_string_from_value(PyObject *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_create_string_from_value *__pyx_optional_args) {
  PyObject *__pyx_v_encoding = ((PyObject *)__pyx_kp_s_UTF_8);
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_new_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  char const *__pyx_t_7;
  __Pyx_RefNannySetupContext("create_string_from_value", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_encoding = __pyx_optional_args->encoding;
    }
  }
  __Pyx_INCREF(__pyx_v_value);

  /* "src/amqp_string.pyx":24
 * 
 * cpdef create_string_from_value(value, encoding='UTF-8'):
 *     if isinstance(value, six.text_type):             # <<<<<<<<<<<<<<
 *         value = value.encode(encoding)
 *     new_string = AMQPString()
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 24, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {

    /* "src/amqp_string.pyx":25
 * cpdef create_string_from_value(value, encoding='UTF-8'):
 *     if isinstance(value, six.text_type):
 *         value = value.encode(encoding)             # <<<<<<<<<<<<<<
 *     new_string = AMQPString()
 *     new_string.construct(<const char*>value)
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_encoding};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_encoding};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 25, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_encoding);
        __Pyx_GIVEREF(__pyx_v_encoding);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_encoding);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 25, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/amqp_string.pyx":24
 * 
 * cpdef create_string_from_value(value, encoding='UTF-8'):
 *     if isinstance(value, six.text_type):             # <<<<<<<<<<<<<<
 *         value = value.encode(encoding)
 *     new_string = AMQPString()
 */
  }

  /* "src/amqp_string.pyx":26
 *     if isinstance(value, six.text_type):
 *         value = value.encode(encoding)
 *     new_string = AMQPString()             # <<<<<<<<<<<<<<
 *     new_string.construct(<const char*>value)
 *     return new_string
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPString)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_new_string = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":27
 *         value = value.encode(encoding)
 *     new_string = AMQPString()
 *     new_string.construct(<const char*>value)             # <<<<<<<<<<<<<<
 *     return new_string
 * 
 */
  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_value); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(3, 27, __pyx_L1_error)
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_new_string->__pyx_vtab)->construct(__pyx_v_new_string, ((char const *)__pyx_t_7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":28
 *     new_string = AMQPString()
 *     new_string.construct(<const char*>value)
 *     return new_string             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_string));
  __pyx_r = ((PyObject *)__pyx_v_new_string);
  goto __pyx_L0;

  /* "src/amqp_string.pyx":23
 * 
 * 
 * cpdef create_string_from_value(value, encoding='UTF-8'):             # <<<<<<<<<<<<<<
 *     if isinstance(value, six.text_type):
 *         value = value.encode(encoding)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_string_from_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_string);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9create_string_from_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9create_string_from_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_string_from_value (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value,&__pyx_n_s_encoding,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_kp_s_UTF_8);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_encoding);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_string_from_value") < 0)) __PYX_ERR(3, 23, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_value = values[0];
    __pyx_v_encoding = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_string_from_value", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(3, 23, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_string_from_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8create_string_from_value(__pyx_self, __pyx_v_value, __pyx_v_encoding);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8create_string_from_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_encoding) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_5uamqp_7c_uamqp_create_string_from_value __pyx_t_2;
  __Pyx_RefNannySetupContext("create_string_from_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.encoding = __pyx_v_encoding;
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_string_from_value(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_string_from_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":35
 *     cdef c_strings.STRING_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_strings.STRING_new()
 *         self._validate()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10AMQPString_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10AMQPString_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10AMQPString___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/amqp_string.pyx":36
 * 
 *     def __cinit__(self):
 *         self._c_value = c_strings.STRING_new()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = STRING_new();

  /* "src/amqp_string.pyx":37
 *     def __cinit__(self):
 *         self._c_value = c_strings.STRING_new()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":35
 *     cdef c_strings.STRING_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_strings.STRING_new()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":39
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating AMQPString")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_10AMQPString_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_10AMQPString_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_10AMQPString_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_10AMQPString_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/amqp_string.pyx":40
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating AMQPString")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":41
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating AMQPString")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __bytes__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":39
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating AMQPString")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.AMQPString.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/amqp_string.pyx":43
 *         self.destroy()
 * 
 *     def __bytes__(self):             # <<<<<<<<<<<<<<
 *         return c_strings.STRING_c_str(self._c_value)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_5__bytes__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_5__bytes__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__bytes__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_4__bytes__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_4__bytes__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__bytes__", 0);

  /* "src/amqp_string.pyx":44
 * 
 *     def __bytes__(self):
 *         return c_strings.STRING_c_str(self._c_value)             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(STRING_c_str(__pyx_v_self->_c_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqp_string.pyx":43
 *         self.destroy()
 * 
 *     def __bytes__(self):             # <<<<<<<<<<<<<<
 *         return c_strings.STRING_c_str(self._c_value)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__bytes__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":46
 *         return c_strings.STRING_c_str(self._c_value)
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_7__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_7__str__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_6__str__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_6__str__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  char const *__pyx_v_as_bytes;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "src/amqp_string.pyx":47
 * 
 *     def __str__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)             # <<<<<<<<<<<<<<
 *         if six.PY3:
 *             try:
 */
  __pyx_v_as_bytes = STRING_c_str(__pyx_v_self->_c_value);

  /* "src/amqp_string.pyx":48
 *     def __str__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:             # <<<<<<<<<<<<<<
 *             try:
 *                 return as_bytes.decode('UTF-8')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_PY3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(3, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/amqp_string.pyx":49
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/amqp_string.pyx":50
 *         if six.PY3:
 *             try:
 *                 return as_bytes.decode('UTF-8')             # <<<<<<<<<<<<<<
 *             except UnicodeDecodeError:
 *                 pass
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_2 = __Pyx_decode_c_string(__pyx_v_as_bytes, 0, strlen(__pyx_v_as_bytes), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 50, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_r = __pyx_t_2;
        __pyx_t_2 = 0;
        goto __pyx_L8_try_return;

        /* "src/amqp_string.pyx":49
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
      }
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/amqp_string.pyx":51
 *             try:
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *                 pass
 *         return str(as_bytes)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
      if (__pyx_t_7) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;
      __pyx_L6_except_error:;

      /* "src/amqp_string.pyx":49
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L8_try_return:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L0;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
    }

    /* "src/amqp_string.pyx":48
 *     def __str__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:             # <<<<<<<<<<<<<<
 *             try:
 *                 return as_bytes.decode('UTF-8')
 */
  }

  /* "src/amqp_string.pyx":53
 *             except UnicodeDecodeError:
 *                 pass
 *         return str(as_bytes)             # <<<<<<<<<<<<<<
 * 
 *     def __unicode__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_as_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqp_string.pyx":46
 *         return c_strings.STRING_c_str(self._c_value)
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         if six.PY3:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":55
 *         return str(as_bytes)
 * 
 *     def __unicode__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_9__unicode__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_9__unicode__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__unicode__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_8__unicode__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_8__unicode__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  char const *__pyx_v_as_bytes;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  __Pyx_RefNannySetupContext("__unicode__", 0);

  /* "src/amqp_string.pyx":56
 * 
 *     def __unicode__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)             # <<<<<<<<<<<<<<
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))
 */
  __pyx_v_as_bytes = STRING_c_str(__pyx_v_self->_c_value);

  /* "src/amqp_string.pyx":57
 *     def __unicode__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/amqp_string.pyx":58
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *         except UnicodeDecodeError:
 *             return six.text_type(as_bytes)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 58, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_text_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 58, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_decode_c_string(__pyx_v_as_bytes, 0, strlen(__pyx_v_as_bytes), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 58, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 58, __pyx_L3_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 58, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 58, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 58, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_GIVEREF(__pyx_t_5);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5);
          __pyx_t_5 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 58, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L7_try_return;

      /* "src/amqp_string.pyx":57
 *     def __unicode__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/amqp_string.pyx":59
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes)
 * 
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
    if (__pyx_t_9) {
      __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(3, 59, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_8);

      /* "src/amqp_string.pyx":60
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 *             return six.text_type(as_bytes)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, AMQPString other):
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 60, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_text_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 60, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyBytes_FromString(__pyx_v_as_bytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 60, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (!__pyx_t_11) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 60, __pyx_L5_except_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_7};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 60, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_7};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 60, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 60, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_7);
          __pyx_t_7 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 60, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "src/amqp_string.pyx":57
 *     def __unicode__(self):
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
  }

  /* "src/amqp_string.pyx":55
 *         return str(as_bytes)
 * 
 *     def __unicode__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = c_strings.STRING_c_str(self._c_value)
 *         try:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":62
 *             return six.text_type(as_bytes)
 * 
 *     def __eq__(self, AMQPString other):             # <<<<<<<<<<<<<<
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return True
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_11__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_11__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5uamqp_7c_uamqp_AMQPString, 1, "other", 0))) __PYX_ERR(3, 62, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_10__eq__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_10__eq__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/amqp_string.pyx":63
 * 
 *     def __eq__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:             # <<<<<<<<<<<<<<
 *             return True
 *         return False
 */
  __pyx_t_1 = ((STRING_compare(__pyx_v_self->_c_value, __pyx_v_other->_c_value) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/amqp_string.pyx":64
 *     def __eq__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "src/amqp_string.pyx":63
 * 
 *     def __eq__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:             # <<<<<<<<<<<<<<
 *             return True
 *         return False
 */
  }

  /* "src/amqp_string.pyx":65
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 *     def __ne__(self, AMQPString other):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "src/amqp_string.pyx":62
 *             return six.text_type(as_bytes)
 * 
 *     def __eq__(self, AMQPString other):             # <<<<<<<<<<<<<<
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return True
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":67
 *         return False
 * 
 *     def __ne__(self, AMQPString other):             # <<<<<<<<<<<<<<
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return False
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_13__ne__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_13__ne__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__ne__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5uamqp_7c_uamqp_AMQPString, 1, "other", 0))) __PYX_ERR(3, 67, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_12__ne__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_12__ne__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__ne__", 0);

  /* "src/amqp_string.pyx":68
 * 
 *     def __ne__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:             # <<<<<<<<<<<<<<
 *             return False
 *         return True
 */
  __pyx_t_1 = ((STRING_compare(__pyx_v_self->_c_value, __pyx_v_other->_c_value) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/amqp_string.pyx":69
 *     def __ne__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return False             # <<<<<<<<<<<<<<
 *         return True
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "src/amqp_string.pyx":68
 * 
 *     def __ne__(self, AMQPString other):
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:             # <<<<<<<<<<<<<<
 *             return False
 *         return True
 */
  }

  /* "src/amqp_string.pyx":70
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return False
 *         return True             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_True);
  __pyx_r = Py_True;
  goto __pyx_L0;

  /* "src/amqp_string.pyx":67
 *         return False
 * 
 *     def __ne__(self, AMQPString other):             # <<<<<<<<<<<<<<
 *         if c_strings.STRING_compare(self._c_value, other._c_value) == 0:
 *             return False
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":72
 *         return True
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString__validate(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/amqp_string.pyx":73
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqp_string.pyx":74
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 74, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 74, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_string.pyx":73
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/amqp_string.pyx":72
 *         return True
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":76
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_15destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_15destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 76, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 76, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_string.pyx":77
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/amqp_string.pyx":78
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying AMQPString")
 *                 c_strings.STRING_delete(self._c_value)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/amqp_string.pyx":79
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")             # <<<<<<<<<<<<<<
 *                 c_strings.STRING_delete(self._c_value)
 *         except KeyboardInterrupt:
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 79, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 79, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 79, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/amqp_string.pyx":80
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")
 *                 c_strings.STRING_delete(self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          STRING_delete(__pyx_v_self->_c_value);

          /* "src/amqp_string.pyx":78
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying AMQPString")
 *                 c_strings.STRING_delete(self._c_value)
 */
        }

        /* "src/amqp_string.pyx":77
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/amqp_string.pyx":81
 *                 _logger.debug("Destroying AMQPString")
 *                 c_strings.STRING_delete(self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/amqp_string.pyx":77
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/amqp_string.pyx":84
 *             pass
 *         finally:
 *             self._c_value = <c_strings.STRING_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_strings.STRING_HANDLE value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_9 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/amqp_string.pyx":76
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_15destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_15destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_14destroy(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_14destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10AMQPString_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":86
 *             self._c_value = <c_strings.STRING_HANDLE>NULL
 * 
 *     cdef wrap(self, c_strings.STRING_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, STRING_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/amqp_string.pyx":87
 * 
 *     cdef wrap(self, c_strings.STRING_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":88
 *     cdef wrap(self, c_strings.STRING_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/amqp_string.pyx":89
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cdef construct(self, const char* value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":86
 *             self._c_value = <c_strings.STRING_HANDLE>NULL
 * 
 *     cdef wrap(self, c_strings.STRING_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":91
 *         self._validate()
 * 
 *     cdef construct(self, const char* value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_strings.STRING_construct(value)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_construct(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, char const *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("construct", 0);

  /* "src/amqp_string.pyx":92
 * 
 *     cdef construct(self, const char* value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_strings.STRING_construct(value)
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 92, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":93
 *     cdef construct(self, const char* value):
 *         self.destroy()
 *         self._c_value = c_strings.STRING_construct(value)             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = STRING_construct(__pyx_v_value);

  /* "src/amqp_string.pyx":94
 *         self.destroy()
 *         self._c_value = c_strings.STRING_construct(value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cpdef append(self, other):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_string.pyx":91
 *         self._validate()
 * 
 *     cdef construct(self, const char* value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_strings.STRING_construct(value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.construct", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":96
 *         self._validate()
 * 
 *     cpdef append(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_17append(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_append(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  char *__pyx_t_8;
  __Pyx_RefNannySetupContext("append", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_append); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_17append)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_other); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_other};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 96, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_other};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 96, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_other);
          __Pyx_GIVEREF(__pyx_v_other);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_other);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_string.pyx":97
 * 
 *     cpdef append(self, other):
 *         if isinstance(other, AMQPString):             # <<<<<<<<<<<<<<
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 *                 self._value_error("Failed to append AMQPString value.")
 */
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_5uamqp_7c_uamqp_AMQPString); 
  __pyx_t_7 = (__pyx_t_6 != 0);
  if (__pyx_t_7) {

    /* "src/amqp_string.pyx":98
 *     cpdef append(self, other):
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Failed to append AMQPString value.")
 *         else:
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_c_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = ((STRING_concat_with_STRING(__pyx_v_self->_c_value, __pyx_t_1) != 0) != 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_7) {

      /* "src/amqp_string.pyx":99
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 *                 self._value_error("Failed to append AMQPString value.")             # <<<<<<<<<<<<<<
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/amqp_string.pyx":98
 *     cpdef append(self, other):
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Failed to append AMQPString value.")
 *         else:
 */
    }

    /* "src/amqp_string.pyx":97
 * 
 *     cpdef append(self, other):
 *         if isinstance(other, AMQPString):             # <<<<<<<<<<<<<<
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 *                 self._value_error("Failed to append AMQPString value.")
 */
    goto __pyx_L3;
  }

  /* "src/amqp_string.pyx":101
 *                 self._value_error("Failed to append AMQPString value.")
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Failed to append string.")
 * 
 */
  /*else*/ {
    __pyx_t_8 = __Pyx_PyObject_AsWritableString(__pyx_v_other); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(3, 101, __pyx_L1_error)
    __pyx_t_7 = ((STRING_concat(__pyx_v_self->_c_value, ((char *)__pyx_t_8)) != 0) != 0);
    if (__pyx_t_7) {

      /* "src/amqp_string.pyx":102
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:
 *                 self._value_error("Failed to append string.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/amqp_string.pyx":101
 *                 self._value_error("Failed to append AMQPString value.")
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Failed to append string.")
 * 
 */
    }
  }
  __pyx_L3:;

  /* "src/amqp_string.pyx":96
 *         self._validate()
 * 
 *     cpdef append(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_17append(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_17append(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("append (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_16append(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_16append(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("append", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10AMQPString_append(__pyx_v_self, __pyx_v_other, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqp_string.pyx":104
 *                 self._value_error("Failed to append string.")
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_strings.STRING_HANDLE value
 *         value = c_strings.STRING_clone(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_19clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10AMQPString_clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, int __pyx_skip_dispatch) {
  STRING_HANDLE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_cloned_value = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_19clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 104, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 104, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqp_string.pyx":106
 *     cpdef clone(self):
 *         cdef c_strings.STRING_HANDLE value
 *         value = c_strings.STRING_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._null_error("Failed to clone AMQPString value.")
 */
  __pyx_v_value = STRING_clone(__pyx_v_self->_c_value);

  /* "src/amqp_string.pyx":107
 *         cdef c_strings.STRING_HANDLE value
 *         value = c_strings.STRING_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to clone AMQPString value.")
 *         cloned_value = AMQPString()
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/amqp_string.pyx":108
 *         value = c_strings.STRING_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._null_error("Failed to clone AMQPString value.")             # <<<<<<<<<<<<<<
 *         cloned_value = AMQPString()
 *         cloned_value.wrap(value)
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_null_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqp_string.pyx":107
 *         cdef c_strings.STRING_HANDLE value
 *         value = c_strings.STRING_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to clone AMQPString value.")
 *         cloned_value = AMQPString()
 */
  }

  /* "src/amqp_string.pyx":109
 *         if <void*>value == NULL:
 *             self._null_error("Failed to clone AMQPString value.")
 *         cloned_value = AMQPString()             # <<<<<<<<<<<<<<
 *         cloned_value.wrap(value)
 *         return cloned_value
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPString)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cloned_value = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":110
 *             self._null_error("Failed to clone AMQPString value.")
 *         cloned_value = AMQPString()
 *         cloned_value.wrap(value)             # <<<<<<<<<<<<<<
 *         return cloned_value
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_cloned_value->__pyx_vtab)->wrap(__pyx_v_cloned_value, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":111
 *         cloned_value = AMQPString()
 *         cloned_value.wrap(value)
 *         return cloned_value             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_cloned_value));
  __pyx_r = ((PyObject *)__pyx_v_cloned_value);
  goto __pyx_L0;

  /* "src/amqp_string.pyx":104
 *                 self._value_error("Failed to append string.")
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_strings.STRING_HANDLE value
 *         value = c_strings.STRING_clone(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cloned_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_19clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_19clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_18clone(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_18clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10AMQPString_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_20__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10AMQPString_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10AMQPString_22__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10AMQPString_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPString.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":28
 * 
 * 
 * cdef int encode_bytes_callback(void* context, const unsigned char* encoded_bytes, size_t length):             # <<<<<<<<<<<<<<
 *     context_obj = <object>context
 *     context_obj.append(encoded_bytes[:length])
 */

static int __pyx_f_5uamqp_7c_uamqp_encode_bytes_callback(void *__pyx_v_context, unsigned char const *__pyx_v_encoded_bytes, size_t __pyx_v_length) {
  PyObject *__pyx_v_context_obj = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("encode_bytes_callback", 0);

  /* "src/amqpvalue.pyx":29
 * 
 * cdef int encode_bytes_callback(void* context, const unsigned char* encoded_bytes, size_t length):
 *     context_obj = <object>context             # <<<<<<<<<<<<<<
 *     context_obj.append(encoded_bytes[:length])
 *     return 0
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_context_obj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":30
 * cdef int encode_bytes_callback(void* context, const unsigned char* encoded_bytes, size_t length):
 *     context_obj = <object>context
 *     context_obj.append(encoded_bytes[:length])             # <<<<<<<<<<<<<<
 *     return 0
 * 
 */
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_encoded_bytes) + 0, __pyx_v_length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Append(__pyx_v_context_obj, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(4, 30, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":31
 *     context_obj = <object>context
 *     context_obj.append(encoded_bytes[:length])
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":28
 * 
 * 
 * cdef int encode_bytes_callback(void* context, const unsigned char* encoded_bytes, size_t length):             # <<<<<<<<<<<<<<
 *     context_obj = <object>context
 *     context_obj.append(encoded_bytes[:length])
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.encode_bytes_callback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":34
 * 
 * 
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_get_amqp_value_type(AMQP_VALUE __pyx_v_value) {
  enum AMQP_TYPE_TAG __pyx_v_type_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  __Pyx_RefNannySetupContext("get_amqp_value_type", 0);

  /* "src/amqpvalue.pyx":35
 * 
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)             # <<<<<<<<<<<<<<
 *     try:
 *         return AMQPType(type_val)
 */
  __pyx_v_type_val = amqpvalue_get_type(__pyx_v_value);

  /* "src/amqpvalue.pyx":36
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:             # <<<<<<<<<<<<<<
 *         return AMQPType(type_val)
 *     except ValueError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/amqpvalue.pyx":37
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:
 *         return AMQPType(type_val)             # <<<<<<<<<<<<<<
 *     except ValueError:
 *         _logger.info("Received unrecognized type value: %r", type_val)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 37, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(__pyx_v_type_val); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 37, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      if (!__pyx_t_7) {
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 37, __pyx_L3_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_4);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_5)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
          __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 37, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
          PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6};
          __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 37, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 37, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 37, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L7_try_return;

      /* "src/amqpvalue.pyx":36
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:             # <<<<<<<<<<<<<<
 *         return AMQPType(type_val)
 *     except ValueError:
 */
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/amqpvalue.pyx":38
 *     try:
 *         return AMQPType(type_val)
 *     except ValueError:             # <<<<<<<<<<<<<<
 *         _logger.info("Received unrecognized type value: %r", type_val)
 *         return AMQPType.ErrorType
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
    if (__pyx_t_9) {
      __Pyx_AddTraceback("uamqp.c_uamqp.get_amqp_value_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8) < 0) __PYX_ERR(4, 38, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_8);

      /* "src/amqpvalue.pyx":39
 *         return AMQPType(type_val)
 *     except ValueError:
 *         _logger.info("Received unrecognized type value: %r", type_val)             # <<<<<<<<<<<<<<
 *         return AMQPType.ErrorType
 * 
 */
      __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 39, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 39, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(__pyx_v_type_val); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 39, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = NULL;
      __pyx_t_9 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
          __pyx_t_9 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_kp_s_Received_unrecognized_type_value, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 39, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
        PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_kp_s_Received_unrecognized_type_value, __pyx_t_7};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 39, __pyx_L5_except_error)
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(4, 39, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (__pyx_t_11) {
          __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
        }
        __Pyx_INCREF(__pyx_kp_s_Received_unrecognized_type_value);
        __Pyx_GIVEREF(__pyx_kp_s_Received_unrecognized_type_value);
        PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_9, __pyx_kp_s_Received_unrecognized_type_value);
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_9, __pyx_t_7);
        __pyx_t_7 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 39, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "src/amqpvalue.pyx":40
 *     except ValueError:
 *         _logger.info("Received unrecognized type value: %r", type_val)
 *         return AMQPType.ErrorType             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 40, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ErrorType); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 40, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_10;
      __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "src/amqpvalue.pyx":36
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:             # <<<<<<<<<<<<<<
 *         return AMQPType(type_val)
 *     except ValueError:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":34
 * 
 * 
 * cdef get_amqp_value_type(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     type_val = c_amqpvalue.amqpvalue_get_type(value)
 *     try:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_amqp_value_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":43
 * 
 * 
 * cpdef enocde_batch_value(AMQPValue value, message_body):             # <<<<<<<<<<<<<<
 *     if c_amqpvalue.amqpvalue_encode(<c_amqpvalue.AMQP_VALUE>value._c_value,
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11enocde_batch_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_enocde_batch_value(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, PyObject *__pyx_v_message_body, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("enocde_batch_value", 0);

  /* "src/amqpvalue.pyx":46
 *     if c_amqpvalue.amqpvalue_encode(<c_amqpvalue.AMQP_VALUE>value._c_value,
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                                      <void*>message_body) != 0:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to encode batched message data.")
 * 
 */
  __pyx_t_1 = ((amqpvalue_encode(__pyx_v_value->_c_value, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_message_body)) != 0) != 0);

  /* "src/amqpvalue.pyx":44
 * 
 * cpdef enocde_batch_value(AMQPValue value, message_body):
 *     if c_amqpvalue.amqpvalue_encode(<c_amqpvalue.AMQP_VALUE>value._c_value,             # <<<<<<<<<<<<<<
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                                      <void*>message_body) != 0:
 */
  if (unlikely(__pyx_t_1)) {

    /* "src/amqpvalue.pyx":47
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                                      <void*>message_body) != 0:
 *         raise ValueError("Failed to encode batched message data.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(4, 47, __pyx_L1_error)

    /* "src/amqpvalue.pyx":44
 * 
 * cpdef enocde_batch_value(AMQPValue value, message_body):
 *     if c_amqpvalue.amqpvalue_encode(<c_amqpvalue.AMQP_VALUE>value._c_value,             # <<<<<<<<<<<<<<
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                                      <void*>message_body) != 0:
 */
  }

  /* "src/amqpvalue.pyx":43
 * 
 * 
 * cpdef enocde_batch_value(AMQPValue value, message_body):             # <<<<<<<<<<<<<<
 *     if c_amqpvalue.amqpvalue_encode(<c_amqpvalue.AMQP_VALUE>value._c_value,
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.enocde_batch_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11enocde_batch_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11enocde_batch_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value = 0;
  PyObject *__pyx_v_message_body = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enocde_batch_value (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value,&__pyx_n_s_message_body,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message_body)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("enocde_batch_value", 1, 2, 2, 1); __PYX_ERR(4, 43, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enocde_batch_value") < 0)) __PYX_ERR(4, 43, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_value = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[0]);
    __pyx_v_message_body = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("enocde_batch_value", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(4, 43, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.enocde_batch_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 43, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10enocde_batch_value(__pyx_self, __pyx_v_value, __pyx_v_message_body);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10enocde_batch_value(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, PyObject *__pyx_v_message_body) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("enocde_batch_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_enocde_batch_value(__pyx_v_value, __pyx_v_message_body, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.enocde_batch_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":78
 * 
 * 
 * cdef value_factory(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     type_val = get_amqp_value_type(value)
 *     _logger.debug("Wrapping value type: %r", type_val)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_value_factory(AMQP_VALUE __pyx_v_value) {
  PyObject *__pyx_v_type_val = NULL;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_v_error = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("value_factory", 0);

  /* "src/amqpvalue.pyx":79
 * 
 * cdef value_factory(c_amqpvalue.AMQP_VALUE value):
 *     type_val = get_amqp_value_type(value)             # <<<<<<<<<<<<<<
 *     _logger.debug("Wrapping value type: %r", type_val)
 *     if type_val == AMQPType.NullValue:
 */
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_get_amqp_value_type(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_type_val = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":80
 * cdef value_factory(c_amqpvalue.AMQP_VALUE value):
 *     type_val = get_amqp_value_type(value)
 *     _logger.debug("Wrapping value type: %r", type_val)             # <<<<<<<<<<<<<<
 *     if type_val == AMQPType.NullValue:
 *         new_obj = AMQPValue()
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Wrapping_value_type_r, __pyx_v_type_val};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 80, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Wrapping_value_type_r, __pyx_v_type_val};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 80, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_Wrapping_value_type_r);
    __Pyx_GIVEREF(__pyx_kp_s_Wrapping_value_type_r);
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_kp_s_Wrapping_value_type_r);
    __Pyx_INCREF(__pyx_v_type_val);
    __Pyx_GIVEREF(__pyx_v_type_val);
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_type_val);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":81
 *     type_val = get_amqp_value_type(value)
 *     _logger.debug("Wrapping value type: %r", type_val)
 *     if type_val == AMQPType.NullValue:             # <<<<<<<<<<<<<<
 *         new_obj = AMQPValue()
 *     elif type_val == AMQPType.BoolValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_NullValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":82
 *     _logger.debug("Wrapping value type: %r", type_val)
 *     if type_val == AMQPType.NullValue:
 *         new_obj = AMQPValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.BoolValue:
 *         new_obj = BoolValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":81
 *     type_val = get_amqp_value_type(value)
 *     _logger.debug("Wrapping value type: %r", type_val)
 *     if type_val == AMQPType.NullValue:             # <<<<<<<<<<<<<<
 *         new_obj = AMQPValue()
 *     elif type_val == AMQPType.BoolValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":83
 *     if type_val == AMQPType.NullValue:
 *         new_obj = AMQPValue()
 *     elif type_val == AMQPType.BoolValue:             # <<<<<<<<<<<<<<
 *         new_obj = BoolValue()
 *     elif type_val == AMQPType.UByteValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BoolValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":84
 *         new_obj = AMQPValue()
 *     elif type_val == AMQPType.BoolValue:
 *         new_obj = BoolValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.UByteValue:
 *         new_obj = UByteValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BoolValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":83
 *     if type_val == AMQPType.NullValue:
 *         new_obj = AMQPValue()
 *     elif type_val == AMQPType.BoolValue:             # <<<<<<<<<<<<<<
 *         new_obj = BoolValue()
 *     elif type_val == AMQPType.UByteValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":85
 *     elif type_val == AMQPType.BoolValue:
 *         new_obj = BoolValue()
 *     elif type_val == AMQPType.UByteValue:             # <<<<<<<<<<<<<<
 *         new_obj = UByteValue()
 *     elif type_val == AMQPType.UShortValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UByteValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":86
 *         new_obj = BoolValue()
 *     elif type_val == AMQPType.UByteValue:
 *         new_obj = UByteValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.UShortValue:
 *         new_obj = UShortValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UByteValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":85
 *     elif type_val == AMQPType.BoolValue:
 *         new_obj = BoolValue()
 *     elif type_val == AMQPType.UByteValue:             # <<<<<<<<<<<<<<
 *         new_obj = UByteValue()
 *     elif type_val == AMQPType.UShortValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":87
 *     elif type_val == AMQPType.UByteValue:
 *         new_obj = UByteValue()
 *     elif type_val == AMQPType.UShortValue:             # <<<<<<<<<<<<<<
 *         new_obj = UShortValue()
 *     elif type_val == AMQPType.UIntValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UShortValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":88
 *         new_obj = UByteValue()
 *     elif type_val == AMQPType.UShortValue:
 *         new_obj = UShortValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.UIntValue:
 *         new_obj = UIntValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UShortValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":87
 *     elif type_val == AMQPType.UByteValue:
 *         new_obj = UByteValue()
 *     elif type_val == AMQPType.UShortValue:             # <<<<<<<<<<<<<<
 *         new_obj = UShortValue()
 *     elif type_val == AMQPType.UIntValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":89
 *     elif type_val == AMQPType.UShortValue:
 *         new_obj = UShortValue()
 *     elif type_val == AMQPType.UIntValue:             # <<<<<<<<<<<<<<
 *         new_obj = UIntValue()
 *     elif type_val == AMQPType.ULongValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UIntValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":90
 *         new_obj = UShortValue()
 *     elif type_val == AMQPType.UIntValue:
 *         new_obj = UIntValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.ULongValue:
 *         new_obj = ULongValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UIntValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":89
 *     elif type_val == AMQPType.UShortValue:
 *         new_obj = UShortValue()
 *     elif type_val == AMQPType.UIntValue:             # <<<<<<<<<<<<<<
 *         new_obj = UIntValue()
 *     elif type_val == AMQPType.ULongValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":91
 *     elif type_val == AMQPType.UIntValue:
 *         new_obj = UIntValue()
 *     elif type_val == AMQPType.ULongValue:             # <<<<<<<<<<<<<<
 *         new_obj = ULongValue()
 *     elif type_val == AMQPType.ByteValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ULongValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":92
 *         new_obj = UIntValue()
 *     elif type_val == AMQPType.ULongValue:
 *         new_obj = ULongValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.ByteValue:
 *         new_obj = ByteValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ULongValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":91
 *     elif type_val == AMQPType.UIntValue:
 *         new_obj = UIntValue()
 *     elif type_val == AMQPType.ULongValue:             # <<<<<<<<<<<<<<
 *         new_obj = ULongValue()
 *     elif type_val == AMQPType.ByteValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":93
 *     elif type_val == AMQPType.ULongValue:
 *         new_obj = ULongValue()
 *     elif type_val == AMQPType.ByteValue:             # <<<<<<<<<<<<<<
 *         new_obj = ByteValue()
 *     elif type_val == AMQPType.ShortValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ByteValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 93, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 93, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":94
 *         new_obj = ULongValue()
 *     elif type_val == AMQPType.ByteValue:
 *         new_obj = ByteValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.ShortValue:
 *         new_obj = ShortValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ByteValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":93
 *     elif type_val == AMQPType.ULongValue:
 *         new_obj = ULongValue()
 *     elif type_val == AMQPType.ByteValue:             # <<<<<<<<<<<<<<
 *         new_obj = ByteValue()
 *     elif type_val == AMQPType.ShortValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":95
 *     elif type_val == AMQPType.ByteValue:
 *         new_obj = ByteValue()
 *     elif type_val == AMQPType.ShortValue:             # <<<<<<<<<<<<<<
 *         new_obj = ShortValue()
 *     elif type_val == AMQPType.IntValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ShortValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":96
 *         new_obj = ByteValue()
 *     elif type_val == AMQPType.ShortValue:
 *         new_obj = ShortValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.IntValue:
 *         new_obj = IntValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ShortValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":95
 *     elif type_val == AMQPType.ByteValue:
 *         new_obj = ByteValue()
 *     elif type_val == AMQPType.ShortValue:             # <<<<<<<<<<<<<<
 *         new_obj = ShortValue()
 *     elif type_val == AMQPType.IntValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":97
 *     elif type_val == AMQPType.ShortValue:
 *         new_obj = ShortValue()
 *     elif type_val == AMQPType.IntValue:             # <<<<<<<<<<<<<<
 *         new_obj = IntValue()
 *     elif type_val == AMQPType.LongValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IntValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":98
 *         new_obj = ShortValue()
 *     elif type_val == AMQPType.IntValue:
 *         new_obj = IntValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.LongValue:
 *         new_obj = LongValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_IntValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":97
 *     elif type_val == AMQPType.ShortValue:
 *         new_obj = ShortValue()
 *     elif type_val == AMQPType.IntValue:             # <<<<<<<<<<<<<<
 *         new_obj = IntValue()
 *     elif type_val == AMQPType.LongValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":99
 *     elif type_val == AMQPType.IntValue:
 *         new_obj = IntValue()
 *     elif type_val == AMQPType.LongValue:             # <<<<<<<<<<<<<<
 *         new_obj = LongValue()
 *     elif type_val == AMQPType.FloatValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LongValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":100
 *         new_obj = IntValue()
 *     elif type_val == AMQPType.LongValue:
 *         new_obj = LongValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.FloatValue:
 *         new_obj = FloatValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_LongValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":99
 *     elif type_val == AMQPType.IntValue:
 *         new_obj = IntValue()
 *     elif type_val == AMQPType.LongValue:             # <<<<<<<<<<<<<<
 *         new_obj = LongValue()
 *     elif type_val == AMQPType.FloatValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":101
 *     elif type_val == AMQPType.LongValue:
 *         new_obj = LongValue()
 *     elif type_val == AMQPType.FloatValue:             # <<<<<<<<<<<<<<
 *         new_obj = FloatValue()
 *     elif type_val == AMQPType.DoubleValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_FloatValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":102
 *         new_obj = LongValue()
 *     elif type_val == AMQPType.FloatValue:
 *         new_obj = FloatValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.DoubleValue:
 *         new_obj = DoubleValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_FloatValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":101
 *     elif type_val == AMQPType.LongValue:
 *         new_obj = LongValue()
 *     elif type_val == AMQPType.FloatValue:             # <<<<<<<<<<<<<<
 *         new_obj = FloatValue()
 *     elif type_val == AMQPType.DoubleValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":103
 *     elif type_val == AMQPType.FloatValue:
 *         new_obj = FloatValue()
 *     elif type_val == AMQPType.DoubleValue:             # <<<<<<<<<<<<<<
 *         new_obj = DoubleValue()
 *     elif type_val == AMQPType.CharValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DoubleValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":104
 *         new_obj = FloatValue()
 *     elif type_val == AMQPType.DoubleValue:
 *         new_obj = DoubleValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.CharValue:
 *         new_obj = CharValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DoubleValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":103
 *     elif type_val == AMQPType.FloatValue:
 *         new_obj = FloatValue()
 *     elif type_val == AMQPType.DoubleValue:             # <<<<<<<<<<<<<<
 *         new_obj = DoubleValue()
 *     elif type_val == AMQPType.CharValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":105
 *     elif type_val == AMQPType.DoubleValue:
 *         new_obj = DoubleValue()
 *     elif type_val == AMQPType.CharValue:             # <<<<<<<<<<<<<<
 *         new_obj = CharValue()
 *     elif type_val == AMQPType.TimestampValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CharValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":106
 *         new_obj = DoubleValue()
 *     elif type_val == AMQPType.CharValue:
 *         new_obj = CharValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.TimestampValue:
 *         new_obj = TimestampValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_CharValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":105
 *     elif type_val == AMQPType.DoubleValue:
 *         new_obj = DoubleValue()
 *     elif type_val == AMQPType.CharValue:             # <<<<<<<<<<<<<<
 *         new_obj = CharValue()
 *     elif type_val == AMQPType.TimestampValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":107
 *     elif type_val == AMQPType.CharValue:
 *         new_obj = CharValue()
 *     elif type_val == AMQPType.TimestampValue:             # <<<<<<<<<<<<<<
 *         new_obj = TimestampValue()
 *     elif type_val == AMQPType.UUIDValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_TimestampValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":108
 *         new_obj = CharValue()
 *     elif type_val == AMQPType.TimestampValue:
 *         new_obj = TimestampValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.UUIDValue:
 *         new_obj = UUIDValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_TimestampValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":107
 *     elif type_val == AMQPType.CharValue:
 *         new_obj = CharValue()
 *     elif type_val == AMQPType.TimestampValue:             # <<<<<<<<<<<<<<
 *         new_obj = TimestampValue()
 *     elif type_val == AMQPType.UUIDValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":109
 *     elif type_val == AMQPType.TimestampValue:
 *         new_obj = TimestampValue()
 *     elif type_val == AMQPType.UUIDValue:             # <<<<<<<<<<<<<<
 *         new_obj = UUIDValue()
 *     elif type_val == AMQPType.BinaryValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UUIDValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":110
 *         new_obj = TimestampValue()
 *     elif type_val == AMQPType.UUIDValue:
 *         new_obj = UUIDValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.BinaryValue:
 *         new_obj = BinaryValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UUIDValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":109
 *     elif type_val == AMQPType.TimestampValue:
 *         new_obj = TimestampValue()
 *     elif type_val == AMQPType.UUIDValue:             # <<<<<<<<<<<<<<
 *         new_obj = UUIDValue()
 *     elif type_val == AMQPType.BinaryValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":111
 *     elif type_val == AMQPType.UUIDValue:
 *         new_obj = UUIDValue()
 *     elif type_val == AMQPType.BinaryValue:             # <<<<<<<<<<<<<<
 *         new_obj = BinaryValue()
 *     elif type_val == AMQPType.StringValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BinaryValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":112
 *         new_obj = UUIDValue()
 *     elif type_val == AMQPType.BinaryValue:
 *         new_obj = BinaryValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.StringValue:
 *         new_obj = StringValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BinaryValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":111
 *     elif type_val == AMQPType.UUIDValue:
 *         new_obj = UUIDValue()
 *     elif type_val == AMQPType.BinaryValue:             # <<<<<<<<<<<<<<
 *         new_obj = BinaryValue()
 *     elif type_val == AMQPType.StringValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":113
 *     elif type_val == AMQPType.BinaryValue:
 *         new_obj = BinaryValue()
 *     elif type_val == AMQPType.StringValue:             # <<<<<<<<<<<<<<
 *         new_obj = StringValue()
 *     elif type_val == AMQPType.SymbolValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_StringValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":114
 *         new_obj = BinaryValue()
 *     elif type_val == AMQPType.StringValue:
 *         new_obj = StringValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.SymbolValue:
 *         new_obj = SymbolValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_StringValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":113
 *     elif type_val == AMQPType.BinaryValue:
 *         new_obj = BinaryValue()
 *     elif type_val == AMQPType.StringValue:             # <<<<<<<<<<<<<<
 *         new_obj = StringValue()
 *     elif type_val == AMQPType.SymbolValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":115
 *     elif type_val == AMQPType.StringValue:
 *         new_obj = StringValue()
 *     elif type_val == AMQPType.SymbolValue:             # <<<<<<<<<<<<<<
 *         new_obj = SymbolValue()
 *     elif type_val == AMQPType.ListValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SymbolValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":116
 *         new_obj = StringValue()
 *     elif type_val == AMQPType.SymbolValue:
 *         new_obj = SymbolValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.ListValue:
 *         new_obj = ListValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SymbolValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":115
 *     elif type_val == AMQPType.StringValue:
 *         new_obj = StringValue()
 *     elif type_val == AMQPType.SymbolValue:             # <<<<<<<<<<<<<<
 *         new_obj = SymbolValue()
 *     elif type_val == AMQPType.ListValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":117
 *     elif type_val == AMQPType.SymbolValue:
 *         new_obj = SymbolValue()
 *     elif type_val == AMQPType.ListValue:             # <<<<<<<<<<<<<<
 *         new_obj = ListValue()
 *     elif type_val == AMQPType.DictValue:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ListValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":118
 *         new_obj = SymbolValue()
 *     elif type_val == AMQPType.ListValue:
 *         new_obj = ListValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.DictValue:
 *         new_obj = DictValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ListValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":117
 *     elif type_val == AMQPType.SymbolValue:
 *         new_obj = SymbolValue()
 *     elif type_val == AMQPType.ListValue:             # <<<<<<<<<<<<<<
 *         new_obj = ListValue()
 *     elif type_val == AMQPType.DictValue:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":119
 *     elif type_val == AMQPType.ListValue:
 *         new_obj = ListValue()
 *     elif type_val == AMQPType.DictValue:             # <<<<<<<<<<<<<<
 *         new_obj = DictValue()
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DictValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":120
 *         new_obj = ListValue()
 *     elif type_val == AMQPType.DictValue:
 *         new_obj = DictValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 *         new_obj = ArrayValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DictValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":119
 *     elif type_val == AMQPType.ListValue:
 *         new_obj = ListValue()
 *     elif type_val == AMQPType.DictValue:             # <<<<<<<<<<<<<<
 *         new_obj = DictValue()
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":121
 *     elif type_val == AMQPType.DictValue:
 *         new_obj = DictValue()
 *     elif type_val == AMQPType.ArrayValue:  # Do checking             # <<<<<<<<<<<<<<
 *         new_obj = ArrayValue()
 *     elif type_val == AMQPType.CompositeType:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ArrayValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":122
 *         new_obj = DictValue()
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 *         new_obj = ArrayValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.CompositeType:
 *         new_obj = CompositeValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ArrayValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":121
 *     elif type_val == AMQPType.DictValue:
 *         new_obj = DictValue()
 *     elif type_val == AMQPType.ArrayValue:  # Do checking             # <<<<<<<<<<<<<<
 *         new_obj = ArrayValue()
 *     elif type_val == AMQPType.CompositeType:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":123
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 *         new_obj = ArrayValue()
 *     elif type_val == AMQPType.CompositeType:             # <<<<<<<<<<<<<<
 *         new_obj = CompositeValue()
 *     elif type_val == AMQPType.DescribedType:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CompositeType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":124
 *         new_obj = ArrayValue()
 *     elif type_val == AMQPType.CompositeType:
 *         new_obj = CompositeValue()             # <<<<<<<<<<<<<<
 *     elif type_val == AMQPType.DescribedType:
 *         new_obj = DescribedValue()
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_CompositeValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":123
 *     elif type_val == AMQPType.ArrayValue:  # Do checking
 *         new_obj = ArrayValue()
 *     elif type_val == AMQPType.CompositeType:             # <<<<<<<<<<<<<<
 *         new_obj = CompositeValue()
 *     elif type_val == AMQPType.DescribedType:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":125
 *     elif type_val == AMQPType.CompositeType:
 *         new_obj = CompositeValue()
 *     elif type_val == AMQPType.DescribedType:             # <<<<<<<<<<<<<<
 *         new_obj = DescribedValue()
 *     else:
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DescribedType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_type_val, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(__pyx_t_6)) {

    /* "src/amqpvalue.pyx":126
 *         new_obj = CompositeValue()
 *     elif type_val == AMQPType.DescribedType:
 *         new_obj = DescribedValue()             # <<<<<<<<<<<<<<
 *     else:
 *         error = "Unrecognized AMQPType: {}".format(type_val)
 */
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DescribedValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":125
 *     elif type_val == AMQPType.CompositeType:
 *         new_obj = CompositeValue()
 *     elif type_val == AMQPType.DescribedType:             # <<<<<<<<<<<<<<
 *         new_obj = DescribedValue()
 *     else:
 */
    goto __pyx_L3;
  }

  /* "src/amqpvalue.pyx":128
 *         new_obj = DescribedValue()
 *     else:
 *         error = "Unrecognized AMQPType: {}".format(type_val)             # <<<<<<<<<<<<<<
 *         _logger.info(error)
 *         raise TypeError(error)
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unrecognized_AMQPType, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_type_val); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 128, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_type_val};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 128, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_type_val};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 128, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 128, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_type_val);
        __Pyx_GIVEREF(__pyx_v_type_val);
        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_type_val);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 128, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_error = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":129
 *     else:
 *         error = "Unrecognized AMQPType: {}".format(type_val)
 *         _logger.info(error)             # <<<<<<<<<<<<<<
 *         raise TypeError(error)
 *     new_obj.wrap(value)
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_error};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_error};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_v_error);
        __Pyx_GIVEREF(__pyx_v_error);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_error);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":130
 *         error = "Unrecognized AMQPType: {}".format(type_val)
 *         _logger.info(error)
 *         raise TypeError(error)             # <<<<<<<<<<<<<<
 *     new_obj.wrap(value)
 *     return new_obj
 */
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_v_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(4, 130, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/amqpvalue.pyx":131
 *         _logger.info(error)
 *         raise TypeError(error)
 *     new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_new_obj->__pyx_vtab)->wrap(__pyx_v_new_obj, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":132
 *         raise TypeError(error)
 *     new_obj.wrap(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":78
 * 
 * 
 * cdef value_factory(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     type_val = get_amqp_value_type(value)
 *     _logger.debug("Wrapping value type: %r", type_val)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.value_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_type_val);
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XDECREF(__pyx_v_error);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":135
 * 
 * 
 * cpdef null_value():             # <<<<<<<<<<<<<<
 *     new_obj = AMQPValue()
 *     new_obj.create()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_13null_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_null_value(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("null_value", 0);

  /* "src/amqpvalue.pyx":136
 * 
 * cpdef null_value():
 *     new_obj = AMQPValue()             # <<<<<<<<<<<<<<
 *     new_obj.create()
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":137
 * cpdef null_value():
 *     new_obj = AMQPValue()
 *     new_obj.create()             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 137, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 137, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":138
 *     new_obj = AMQPValue()
 *     new_obj.create()
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":135
 * 
 * 
 * cpdef null_value():             # <<<<<<<<<<<<<<
 *     new_obj = AMQPValue()
 *     new_obj.create()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.null_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13null_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13null_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("null_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12null_value(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12null_value(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("null_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_null_value(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.null_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":141
 * 
 * 
 * cpdef bool_value(bint value):             # <<<<<<<<<<<<<<
 *     value = 1 if value else 0
 *     new_obj = BoolValue()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_15bool_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_bool_value(int __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("bool_value", 0);

  /* "src/amqpvalue.pyx":142
 * 
 * cpdef bool_value(bint value):
 *     value = 1 if value else 0             # <<<<<<<<<<<<<<
 *     new_obj = BoolValue()
 *     new_obj.create(value)
 */
  if ((__pyx_v_value != 0)) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = 0;
  }
  __pyx_v_value = __pyx_t_1;

  /* "src/amqpvalue.pyx":143
 * cpdef bool_value(bint value):
 *     value = 1 if value else 0
 *     new_obj = BoolValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BoolValue)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":144
 *     value = 1 if value else 0
 *     new_obj = BoolValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 144, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 144, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":145
 *     new_obj = BoolValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":141
 * 
 * 
 * cpdef bool_value(bint value):             # <<<<<<<<<<<<<<
 *     value = 1 if value else 0
 *     new_obj = BoolValue()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.bool_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15bool_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15bool_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bool_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 141, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.bool_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14bool_value(__pyx_self, ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14bool_value(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("bool_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_bool_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.bool_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":148
 * 
 * 
 * cpdef ubyte_value(unsigned char value):             # <<<<<<<<<<<<<<
 *     new_obj = UByteValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_17ubyte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ubyte_value(unsigned char __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("ubyte_value", 0);

  /* "src/amqpvalue.pyx":149
 * 
 * cpdef ubyte_value(unsigned char value):
 *     new_obj = UByteValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UByteValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":150
 * cpdef ubyte_value(unsigned char value):
 *     new_obj = UByteValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_char(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 150, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 150, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 150, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":151
 *     new_obj = UByteValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":148
 * 
 * 
 * cpdef ubyte_value(unsigned char value):             # <<<<<<<<<<<<<<
 *     new_obj = UByteValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.ubyte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_17ubyte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_17ubyte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  unsigned char __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ubyte_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_char(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(4, 148, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ubyte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16ubyte_value(__pyx_self, ((unsigned char)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16ubyte_value(CYTHON_UNUSED PyObject *__pyx_self, unsigned char __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("ubyte_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_ubyte_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ubyte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":154
 * 
 * 
 * cpdef ushort_value(stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *     new_obj = UShortValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_19ushort_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ushort_value(uint16_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("ushort_value", 0);

  /* "src/amqpvalue.pyx":155
 * 
 * cpdef ushort_value(stdint.uint16_t value):
 *     new_obj = UShortValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UShortValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":156
 * cpdef ushort_value(stdint.uint16_t value):
 *     new_obj = UShortValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_uint16_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 156, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 156, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 156, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":157
 *     new_obj = UShortValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":154
 * 
 * 
 * cpdef ushort_value(stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *     new_obj = UShortValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.ushort_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19ushort_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19ushort_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  uint16_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ushort_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint16_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 154, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ushort_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_18ushort_value(__pyx_self, ((uint16_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_18ushort_value(CYTHON_UNUSED PyObject *__pyx_self, uint16_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("ushort_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_ushort_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ushort_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":160
 * 
 * 
 * cpdef uint_value(stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = UIntValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_21uint_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_uint_value(uint32_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("uint_value", 0);

  /* "src/amqpvalue.pyx":161
 * 
 * cpdef uint_value(stdint.uint32_t value):
 *     new_obj = UIntValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UIntValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":162
 * cpdef uint_value(stdint.uint32_t value):
 *     new_obj = UIntValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 162, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 162, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 162, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 162, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 162, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":163
 *     new_obj = UIntValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":160
 * 
 * 
 * cpdef uint_value(stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = UIntValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.uint_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_21uint_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_21uint_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("uint_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 160, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.uint_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20uint_value(__pyx_self, ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20uint_value(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("uint_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_uint_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.uint_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":166
 * 
 * 
 * cpdef ulong_value(stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = ULongValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_23ulong_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_ulong_value(uint64_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("ulong_value", 0);

  /* "src/amqpvalue.pyx":167
 * 
 * cpdef ulong_value(stdint.uint64_t value):
 *     new_obj = ULongValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ULongValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":168
 * cpdef ulong_value(stdint.uint64_t value):
 *     new_obj = ULongValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 168, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 168, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 168, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 168, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 168, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":169
 *     new_obj = ULongValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":166
 * 
 * 
 * cpdef ulong_value(stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = ULongValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.ulong_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_23ulong_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_23ulong_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  uint64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ulong_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 166, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ulong_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22ulong_value(__pyx_self, ((uint64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22ulong_value(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("ulong_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_ulong_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ulong_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":172
 * 
 * 
 * cpdef byte_value(char value):             # <<<<<<<<<<<<<<
 *     new_obj = ByteValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_25byte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_byte_value(char __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("byte_value", 0);

  /* "src/amqpvalue.pyx":173
 * 
 * cpdef byte_value(char value):
 *     new_obj = ByteValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ByteValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":174
 * cpdef byte_value(char value):
 *     new_obj = ByteValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_char(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 174, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 174, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 174, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":175
 *     new_obj = ByteValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":172
 * 
 * 
 * cpdef byte_value(char value):             # <<<<<<<<<<<<<<
 *     new_obj = ByteValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.byte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_25byte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_25byte_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  char __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byte_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_char(__pyx_arg_value); if (unlikely((__pyx_v_value == (char)-1) && PyErr_Occurred())) __PYX_ERR(4, 172, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.byte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_24byte_value(__pyx_self, ((char)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_24byte_value(CYTHON_UNUSED PyObject *__pyx_self, char __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("byte_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_byte_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.byte_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":178
 * 
 * 
 * cpdef short_value(stdint.int16_t value):             # <<<<<<<<<<<<<<
 *     new_obj = ShortValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_27short_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_short_value(int16_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("short_value", 0);

  /* "src/amqpvalue.pyx":179
 * 
 * cpdef short_value(stdint.int16_t value):
 *     new_obj = ShortValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ShortValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":180
 * cpdef short_value(stdint.int16_t value):
 *     new_obj = ShortValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int16_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 180, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 180, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 180, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":181
 *     new_obj = ShortValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":178
 * 
 * 
 * cpdef short_value(stdint.int16_t value):             # <<<<<<<<<<<<<<
 *     new_obj = ShortValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.short_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_27short_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_27short_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  int16_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("short_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int16_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 178, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.short_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_26short_value(__pyx_self, ((int16_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_26short_value(CYTHON_UNUSED PyObject *__pyx_self, int16_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("short_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_short_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.short_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":184
 * 
 * 
 * cpdef int_value(stdint.int32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = IntValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_29int_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_int_value(int32_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("int_value", 0);

  /* "src/amqpvalue.pyx":185
 * 
 * cpdef int_value(stdint.int32_t value):
 *     new_obj = IntValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_IntValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":186
 * cpdef int_value(stdint.int32_t value):
 *     new_obj = IntValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int32_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":187
 *     new_obj = IntValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":184
 * 
 * 
 * cpdef int_value(stdint.int32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = IntValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.int_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_29int_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_29int_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  int32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("int_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 184, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.int_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_28int_value(__pyx_self, ((int32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_28int_value(CYTHON_UNUSED PyObject *__pyx_self, int32_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("int_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_int_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.int_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":190
 * 
 * 
 * cpdef long_value(stdint.int64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = LongValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_31long_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_long_value(int64_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("long_value", 0);

  /* "src/amqpvalue.pyx":191
 * 
 * cpdef long_value(stdint.int64_t value):
 *     new_obj = LongValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_LongValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":192
 * cpdef long_value(stdint.int64_t value):
 *     new_obj = LongValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 192, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 192, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 192, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":193
 *     new_obj = LongValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":190
 * 
 * 
 * cpdef long_value(stdint.int64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = LongValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.long_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_31long_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_31long_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  int64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("long_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 190, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.long_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_30long_value(__pyx_self, ((int64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_30long_value(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("long_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_long_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.long_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":196
 * 
 * 
 * cpdef float_value(float value):             # <<<<<<<<<<<<<<
 *     new_obj = FloatValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_33float_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_float_value(float __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("float_value", 0);

  /* "src/amqpvalue.pyx":197
 * 
 * cpdef float_value(float value):
 *     new_obj = FloatValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_FloatValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":198
 * cpdef float_value(float value):
 *     new_obj = FloatValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 198, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 198, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 198, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":199
 *     new_obj = FloatValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":196
 * 
 * 
 * cpdef float_value(float value):             # <<<<<<<<<<<<<<
 *     new_obj = FloatValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.float_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33float_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33float_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("float_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(4, 196, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.float_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_32float_value(__pyx_self, ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_32float_value(CYTHON_UNUSED PyObject *__pyx_self, float __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("float_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_float_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.float_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":202
 * 
 * 
 * cpdef double_value(double value):             # <<<<<<<<<<<<<<
 *     new_obj = DoubleValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_35double_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_double_value(double __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("double_value", 0);

  /* "src/amqpvalue.pyx":203
 * 
 * cpdef double_value(double value):
 *     new_obj = DoubleValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DoubleValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":204
 * cpdef double_value(double value):
 *     new_obj = DoubleValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 204, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 204, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 204, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":205
 *     new_obj = DoubleValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":202
 * 
 * 
 * cpdef double_value(double value):             # <<<<<<<<<<<<<<
 *     new_obj = DoubleValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.double_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_35double_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_35double_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("double_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(4, 202, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.double_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_34double_value(__pyx_self, ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_34double_value(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("double_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_double_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.double_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":208
 * 
 * 
 * cpdef char_value(stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = CharValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_37char_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_char_value(uint32_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("char_value", 0);

  /* "src/amqpvalue.pyx":209
 * 
 * cpdef char_value(stdint.uint32_t value):
 *     new_obj = CharValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_CharValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":210
 * cpdef char_value(stdint.uint32_t value):
 *     new_obj = CharValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 210, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 210, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 210, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":211
 *     new_obj = CharValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":208
 * 
 * 
 * cpdef char_value(stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *     new_obj = CharValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.char_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_37char_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_37char_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("char_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 208, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.char_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_36char_value(__pyx_self, ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_36char_value(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("char_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_char_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.char_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":214
 * 
 * 
 * cpdef timestamp_value(stdint.int64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = TimestampValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_39timestamp_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_timestamp_value(int64_t __pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("timestamp_value", 0);

  /* "src/amqpvalue.pyx":215
 * 
 * cpdef timestamp_value(stdint.int64_t value):
 *     new_obj = TimestampValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_TimestampValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":216
 * cpdef timestamp_value(stdint.int64_t value):
 *     new_obj = TimestampValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 216, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 216, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 216, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":217
 *     new_obj = TimestampValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":214
 * 
 * 
 * cpdef timestamp_value(stdint.int64_t value):             # <<<<<<<<<<<<<<
 *     new_obj = TimestampValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.timestamp_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_39timestamp_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_39timestamp_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  int64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("timestamp_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 214, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.timestamp_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_38timestamp_value(__pyx_self, ((int64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_38timestamp_value(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("timestamp_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_timestamp_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.timestamp_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":220
 * 
 * 
 * cpdef uuid_value(value):             # <<<<<<<<<<<<<<
 *     if not isinstance(value, uuid.UUID):
 *         raise TypeError("Input value must be type UUID.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_41uuid_value(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_uuid_value(PyObject *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("uuid_value", 0);

  /* "src/amqpvalue.pyx":221
 * 
 * cpdef uuid_value(value):
 *     if not isinstance(value, uuid.UUID):             # <<<<<<<<<<<<<<
 *         raise TypeError("Input value must be type UUID.")
 *     new_obj = UUIDValue()
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_uuid); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UUID); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_value, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(4, 221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":222
 * cpdef uuid_value(value):
 *     if not isinstance(value, uuid.UUID):
 *         raise TypeError("Input value must be type UUID.")             # <<<<<<<<<<<<<<
 *     new_obj = UUIDValue()
 *     new_obj.create(<bytes>value.bytes)
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(4, 222, __pyx_L1_error)

    /* "src/amqpvalue.pyx":221
 * 
 * cpdef uuid_value(value):
 *     if not isinstance(value, uuid.UUID):             # <<<<<<<<<<<<<<
 *         raise TypeError("Input value must be type UUID.")
 *     new_obj = UUIDValue()
 */
  }

  /* "src/amqpvalue.pyx":223
 *     if not isinstance(value, uuid.UUID):
 *         raise TypeError("Input value must be type UUID.")
 *     new_obj = UUIDValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(<bytes>value.bytes)
 *     return new_obj
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UUIDValue)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":224
 *         raise TypeError("Input value must be type UUID.")
 *     new_obj = UUIDValue()
 *     new_obj.create(<bytes>value.bytes)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_bytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 224, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_2);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 224, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 224, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 224, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_INCREF(((PyObject*)__pyx_t_5));
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 224, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":225
 *     new_obj = UUIDValue()
 *     new_obj.create(<bytes>value.bytes)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":220
 * 
 * 
 * cpdef uuid_value(value):             # <<<<<<<<<<<<<<
 *     if not isinstance(value, uuid.UUID):
 *         raise TypeError("Input value must be type UUID.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.uuid_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_41uuid_value(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_41uuid_value(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("uuid_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_40uuid_value(__pyx_self, ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_40uuid_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("uuid_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_uuid_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.uuid_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":228
 * 
 * 
 * cpdef binary_value(value):             # <<<<<<<<<<<<<<
 *     bytes_value = six.binary_type(value)
 *     new_obj = BinaryValue()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_43binary_value(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_binary_value(PyObject *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_v_bytes_value = NULL;
  struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("binary_value", 0);

  /* "src/amqpvalue.pyx":229
 * 
 * cpdef binary_value(value):
 *     bytes_value = six.binary_type(value)             # <<<<<<<<<<<<<<
 *     new_obj = BinaryValue()
 *     new_obj.create(<bytes>bytes_value)
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_binary_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_value};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 229, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_value};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 229, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
      __Pyx_INCREF(__pyx_v_value);
      __Pyx_GIVEREF(__pyx_v_value);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_bytes_value = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":230
 * cpdef binary_value(value):
 *     bytes_value = six.binary_type(value)
 *     new_obj = BinaryValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(<bytes>bytes_value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BinaryValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":231
 *     bytes_value = six.binary_type(value)
 *     new_obj = BinaryValue()
 *     new_obj.create(<bytes>bytes_value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_bytes_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_bytes_value};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 231, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_bytes_value};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 231, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_INCREF(((PyObject*)__pyx_v_bytes_value));
      __Pyx_GIVEREF(__pyx_v_bytes_value);
      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_bytes_value);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":232
 *     new_obj = BinaryValue()
 *     new_obj.create(<bytes>bytes_value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":228
 * 
 * 
 * cpdef binary_value(value):             # <<<<<<<<<<<<<<
 *     bytes_value = six.binary_type(value)
 *     new_obj = BinaryValue()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.binary_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_bytes_value);
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_43binary_value(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_43binary_value(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("binary_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_42binary_value(__pyx_self, ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_42binary_value(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("binary_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_binary_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.binary_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":235
 * 
 * 
 * cpdef string_value(char* value):             # <<<<<<<<<<<<<<
 *     new_obj = StringValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_45string_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_string_value(char *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("string_value", 0);

  /* "src/amqpvalue.pyx":236
 * 
 * cpdef string_value(char* value):
 *     new_obj = StringValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_StringValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":237
 * cpdef string_value(char* value):
 *     new_obj = StringValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 237, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 237, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 237, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":238
 *     new_obj = StringValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":235
 * 
 * 
 * cpdef string_value(char* value):             # <<<<<<<<<<<<<<
 *     new_obj = StringValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.string_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_45string_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_45string_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("string_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(4, 235, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.string_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_44string_value(__pyx_self, ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_44string_value(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("string_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_string_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.string_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":241
 * 
 * 
 * cpdef symbol_value(char* value):             # <<<<<<<<<<<<<<
 *     new_obj = SymbolValue()
 *     new_obj.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_47symbol_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_symbol_value(char *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("symbol_value", 0);

  /* "src/amqpvalue.pyx":242
 * 
 * cpdef symbol_value(char* value):
 *     new_obj = SymbolValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SymbolValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":243
 * cpdef symbol_value(char* value):
 *     new_obj = SymbolValue()
 *     new_obj.create(value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 243, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 243, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":244
 *     new_obj = SymbolValue()
 *     new_obj.create(value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":241
 * 
 * 
 * cpdef symbol_value(char* value):             # <<<<<<<<<<<<<<
 *     new_obj = SymbolValue()
 *     new_obj.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.symbol_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_47symbol_value(PyObject *__pyx_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_47symbol_value(PyObject *__pyx_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("symbol_value (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(4, 241, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.symbol_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_46symbol_value(__pyx_self, ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_46symbol_value(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("symbol_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_symbol_value(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.symbol_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":247
 * 
 * 
 * cpdef list_value():             # <<<<<<<<<<<<<<
 *     new_obj = ListValue()
 *     new_obj.create()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_49list_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_list_value(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("list_value", 0);

  /* "src/amqpvalue.pyx":248
 * 
 * cpdef list_value():
 *     new_obj = ListValue()             # <<<<<<<<<<<<<<
 *     new_obj.create()
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ListValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":249
 * cpdef list_value():
 *     new_obj = ListValue()
 *     new_obj.create()             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 249, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 249, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":250
 *     new_obj = ListValue()
 *     new_obj.create()
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":247
 * 
 * 
 * cpdef list_value():             # <<<<<<<<<<<<<<
 *     new_obj = ListValue()
 *     new_obj.create()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.list_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_49list_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_49list_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("list_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_48list_value(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_48list_value(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("list_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_list_value(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.list_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":253
 * 
 * 
 * cpdef dict_value():             # <<<<<<<<<<<<<<
 *     new_obj = DictValue()
 *     new_obj.create()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_51dict_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_dict_value(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("dict_value", 0);

  /* "src/amqpvalue.pyx":254
 * 
 * cpdef dict_value():
 *     new_obj = DictValue()             # <<<<<<<<<<<<<<
 *     new_obj.create()
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DictValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":255
 * cpdef dict_value():
 *     new_obj = DictValue()
 *     new_obj.create()             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 255, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 255, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":256
 *     new_obj = DictValue()
 *     new_obj.create()
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":253
 * 
 * 
 * cpdef dict_value():             # <<<<<<<<<<<<<<
 *     new_obj = DictValue()
 *     new_obj.create()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.dict_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_51dict_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_51dict_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dict_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_50dict_value(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_50dict_value(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("dict_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_dict_value(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.dict_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":259
 * 
 * 
 * cpdef array_value():             # <<<<<<<<<<<<<<
 *     new_obj = ArrayValue()
 *     new_obj.create()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_53array_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_array_value(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("array_value", 0);

  /* "src/amqpvalue.pyx":260
 * 
 * cpdef array_value():
 *     new_obj = ArrayValue()             # <<<<<<<<<<<<<<
 *     new_obj.create()
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ArrayValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":261
 * cpdef array_value():
 *     new_obj = ArrayValue()
 *     new_obj.create()             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 261, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 261, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":262
 *     new_obj = ArrayValue()
 *     new_obj.create()
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":259
 * 
 * 
 * cpdef array_value():             # <<<<<<<<<<<<<<
 *     new_obj = ArrayValue()
 *     new_obj.create()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.array_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_53array_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_53array_value(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("array_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_52array_value(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_52array_value(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("array_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_array_value(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.array_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":265
 * 
 * 
 * cpdef described_value(AMQPValue descriptor, AMQPValue value):             # <<<<<<<<<<<<<<
 *     new_obj = DescribedValue()
 *     new_obj.create(descriptor, value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_55described_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_described_value(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("described_value", 0);

  /* "src/amqpvalue.pyx":266
 * 
 * cpdef described_value(AMQPValue descriptor, AMQPValue value):
 *     new_obj = DescribedValue()             # <<<<<<<<<<<<<<
 *     new_obj.create(descriptor, value)
 *     return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DescribedValue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":267
 * cpdef described_value(AMQPValue descriptor, AMQPValue value):
 *     new_obj = DescribedValue()
 *     new_obj.create(descriptor, value)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_new_obj), __pyx_n_s_create); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_descriptor), ((PyObject *)__pyx_v_value)};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 267, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_descriptor), ((PyObject *)__pyx_v_value)};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 267, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else
  #endif
  {
    __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(((PyObject *)__pyx_v_descriptor));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_descriptor));
    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, ((PyObject *)__pyx_v_descriptor));
    __Pyx_INCREF(((PyObject *)__pyx_v_value));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, ((PyObject *)__pyx_v_value));
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":268
 *     new_obj = DescribedValue()
 *     new_obj.create(descriptor, value)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":265
 * 
 * 
 * cpdef described_value(AMQPValue descriptor, AMQPValue value):             # <<<<<<<<<<<<<<
 *     new_obj = DescribedValue()
 *     new_obj.create(descriptor, value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.described_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_55described_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_55described_value(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("described_value (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_descriptor,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_descriptor)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("described_value", 1, 2, 2, 1); __PYX_ERR(4, 265, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "described_value") < 0)) __PYX_ERR(4, 265, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_descriptor = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[0]);
    __pyx_v_value = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("described_value", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(4, 265, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.described_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_descriptor), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "descriptor", 0))) __PYX_ERR(4, 265, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 265, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_54described_value(__pyx_self, __pyx_v_descriptor, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_54described_value(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("described_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_described_value(__pyx_v_descriptor, __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.described_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":276
 *     cdef c_amqpvalue.AMQP_VALUE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_9AMQPValue___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":279
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if _logger:
 *             _logger.debug("Deallocating %r", self.__class__.__name__)
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/amqpvalue.pyx":280
 * 
 *     def __dealloc__(self):
 *         if _logger:             # <<<<<<<<<<<<<<
 *             _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":281
 *     def __dealloc__(self):
 *         if _logger:
 *             _logger.debug("Deallocating %r", self.__class__.__name__)             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Deallocating_r, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 281, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Deallocating_r, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 281, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_3) {
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_s_Deallocating_r);
      __Pyx_GIVEREF(__pyx_kp_s_Deallocating_r);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_Deallocating_r);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":280
 * 
 *     def __dealloc__(self):
 *         if _logger:             # <<<<<<<<<<<<<<
 *             _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()
 */
  }

  /* "src/amqpvalue.pyx":282
 *         if _logger:
 *             _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, AMQPValue other):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":279
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if _logger:
 *             _logger.debug("Deallocating %r", self.__class__.__name__)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.AMQPValue.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/amqpvalue.pyx":284
 *         self.destroy()
 * 
 *     def __eq__(self, AMQPValue other):             # <<<<<<<<<<<<<<
 *         return c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "other", 0))) __PYX_ERR(4, 284, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4__eq__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4__eq__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/amqpvalue.pyx":285
 * 
 *     def __eq__(self, AMQPValue other):
 *         return c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)             # <<<<<<<<<<<<<<
 * 
 *     def __ne__(self, AMQPValue other):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(amqpvalue_are_equal(__pyx_v_self->_c_value, __pyx_v_other->_c_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":284
 *         self.destroy()
 * 
 *     def __eq__(self, AMQPValue other):             # <<<<<<<<<<<<<<
 *         return c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":287
 *         return c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 *     def __ne__(self, AMQPValue other):             # <<<<<<<<<<<<<<
 *         return not c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_7__ne__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_7__ne__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__ne__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "other", 0))) __PYX_ERR(4, 287, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_6__ne__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_6__ne__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__ne__", 0);

  /* "src/amqpvalue.pyx":288
 * 
 *     def __ne__(self, AMQPValue other):
 *         return not c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)             # <<<<<<<<<<<<<<
 * 
 *     def __bytes__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong((!(amqpvalue_are_equal(__pyx_v_self->_c_value, __pyx_v_other->_c_value) != 0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":287
 *         return c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 *     def __ne__(self, AMQPValue other):             # <<<<<<<<<<<<<<
 *         return not c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__ne__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":290
 *         return not c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 *     def __bytes__(self):             # <<<<<<<<<<<<<<
 *         return self._as_string()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_9__bytes__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_9__bytes__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__bytes__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_8__bytes__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_8__bytes__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__bytes__", 0);

  /* "src/amqpvalue.pyx":291
 * 
 *     def __bytes__(self):
 *         return self._as_string()             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->_as_string(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":290
 *         return not c_amqpvalue.amqpvalue_are_equal(self._c_value, other._c_value)
 * 
 *     def __bytes__(self):             # <<<<<<<<<<<<<<
 *         return self._as_string()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__bytes__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":293
 *         return self._as_string()
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = self._as_string()
 *         if six.PY3:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_10__str__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_10__str__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_v_as_bytes = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "src/amqpvalue.pyx":294
 * 
 *     def __str__(self):
 *         as_bytes = self._as_string()             # <<<<<<<<<<<<<<
 *         if six.PY3:
 *             try:
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->_as_string(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_as_bytes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":295
 *     def __str__(self):
 *         as_bytes = self._as_string()
 *         if six.PY3:             # <<<<<<<<<<<<<<
 *             try:
 *                 return as_bytes.decode('UTF-8')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_PY3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(4, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/amqpvalue.pyx":296
 *         as_bytes = self._as_string()
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/amqpvalue.pyx":297
 *         if six.PY3:
 *             try:
 *                 return as_bytes.decode('UTF-8')             # <<<<<<<<<<<<<<
 *             except UnicodeDecodeError:
 *                 pass
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_as_bytes, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 297, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 297, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_1;
        __pyx_t_1 = 0;
        goto __pyx_L8_try_return;

        /* "src/amqpvalue.pyx":296
 *         as_bytes = self._as_string()
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
      }
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/amqpvalue.pyx":298
 *             try:
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *                 pass
 *         return str(as_bytes)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
      if (__pyx_t_7) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L5_exception_handled;
      }
      goto __pyx_L6_except_error;
      __pyx_L6_except_error:;

      /* "src/amqpvalue.pyx":296
 *         as_bytes = self._as_string()
 *         if six.PY3:
 *             try:             # <<<<<<<<<<<<<<
 *                 return as_bytes.decode('UTF-8')
 *             except UnicodeDecodeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L8_try_return:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L0;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
    }

    /* "src/amqpvalue.pyx":295
 *     def __str__(self):
 *         as_bytes = self._as_string()
 *         if six.PY3:             # <<<<<<<<<<<<<<
 *             try:
 *                 return as_bytes.decode('UTF-8')
 */
  }

  /* "src/amqpvalue.pyx":300
 *             except UnicodeDecodeError:
 *                 pass
 *         return str(as_bytes)             # <<<<<<<<<<<<<<
 * 
 *     def __unicode__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_as_bytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":293
 *         return self._as_string()
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = self._as_string()
 *         if six.PY3:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_as_bytes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":302
 *         return str(as_bytes)
 * 
 *     def __unicode__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = self._as_string()
 *         try:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_13__unicode__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_13__unicode__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__unicode__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_12__unicode__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_12__unicode__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_v_as_bytes = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  __Pyx_RefNannySetupContext("__unicode__", 0);

  /* "src/amqpvalue.pyx":303
 * 
 *     def __unicode__(self):
 *         as_bytes = self._as_string()             # <<<<<<<<<<<<<<
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->_as_string(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_as_bytes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":304
 *     def __unicode__(self):
 *         as_bytes = self._as_string()
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "src/amqpvalue.pyx":305
 *         as_bytes = self._as_string()
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *         except UnicodeDecodeError:
 *             return six.text_type(as_bytes)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 305, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_text_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 305, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_as_bytes, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 305, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 305, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 305, __pyx_L3_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 305, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 305, __pyx_L3_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 305, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7);
          __pyx_t_7 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 305, __pyx_L3_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L7_try_return;

      /* "src/amqpvalue.pyx":304
 *     def __unicode__(self):
 *         as_bytes = self._as_string()
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":306
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes)
 * 
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
    if (__pyx_t_9) {
      __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(4, 306, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_8);

      /* "src/amqpvalue.pyx":307
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 *             return six.text_type(as_bytes)             # <<<<<<<<<<<<<<
 * 
 *     cpdef _as_string(self):
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_six); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 307, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_text_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 307, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_as_bytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 307, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_7);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_as_bytes};
          __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 307, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_as_bytes};
          __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 307, __pyx_L5_except_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_7);
        } else
        #endif
        {
          __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 307, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_INCREF(__pyx_v_as_bytes);
          __Pyx_GIVEREF(__pyx_v_as_bytes);
          PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_v_as_bytes);
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 307, __pyx_L5_except_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_r = __pyx_t_7;
      __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "src/amqpvalue.pyx":304
 *     def __unicode__(self):
 *         as_bytes = self._as_string()
 *         try:             # <<<<<<<<<<<<<<
 *             return six.text_type(as_bytes.decode('UTF-8'))
 *         except UnicodeDecodeError:
 */
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":302
 *         return str(as_bytes)
 * 
 *     def __unicode__(self):             # <<<<<<<<<<<<<<
 *         as_bytes = self._as_string()
 *         try:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__unicode__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_as_bytes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":309
 *             return six.text_type(as_bytes)
 * 
 *     cpdef _as_string(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef const char* as_string
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_15_as_string(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue__as_string(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_value;
  char const *__pyx_v_as_string;
  PyObject *__pyx_v_py_string = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("_as_string", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_as_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_15_as_string)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 309, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 309, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":312
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef const char* as_string
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_clone(__pyx_v_self->_c_value);

  /* "src/amqpvalue.pyx":313
 *         cdef const char* as_string
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/amqpvalue.pyx":314
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)
 *         py_string = copy.deepcopy(as_string)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 314, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 314, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":313
 *         cdef const char* as_string
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)
 */
  }

  /* "src/amqpvalue.pyx":315
 *         if <void*>value == NULL:
 *             self._value_error()
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)             # <<<<<<<<<<<<<<
 *         py_string = copy.deepcopy(as_string)
 *         c_amqpvalue.amqpvalue_destroy(self._c_value)
 */
  __pyx_v_as_string = amqpvalue_to_string(__pyx_v_value);

  /* "src/amqpvalue.pyx":316
 *             self._value_error()
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)
 *         py_string = copy.deepcopy(as_string)             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(self._c_value)
 *         return py_string
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_as_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 316, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 316, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 316, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 316, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 316, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_py_string = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":317
 *         as_string = c_amqpvalue.amqpvalue_to_string(value)
 *         py_string = copy.deepcopy(as_string)
 *         c_amqpvalue.amqpvalue_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *         return py_string
 * 
 */
  amqpvalue_destroy(__pyx_v_self->_c_value);

  /* "src/amqpvalue.pyx":318
 *         py_string = copy.deepcopy(as_string)
 *         c_amqpvalue.amqpvalue_destroy(self._c_value)
 *         return py_string             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_py_string);
  __pyx_r = __pyx_v_py_string;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":309
 *             return six.text_type(as_bytes)
 * 
 *     cpdef _as_string(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef const char* as_string
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue._as_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_15_as_string(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_15_as_string(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_as_string (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_14_as_string(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_14_as_string(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_as_string", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_9AMQPValue__as_string(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue._as_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":320
 *         return py_string
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue__validate(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/amqpvalue.pyx":321
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":322
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 322, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 322, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":321
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":320
 *         return py_string
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":324
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_17destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  char const *__pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_17destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 324, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 324, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":325
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/amqpvalue.pyx":326
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 if _logger:
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/amqpvalue.pyx":327
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(self._c_value)
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 327, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(4, 327, __pyx_L6_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (__pyx_t_8) {

            /* "src/amqpvalue.pyx":328
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:
 *                     _logger.debug("Destroying %r", self.__class__.__name__)             # <<<<<<<<<<<<<<
 *                 c_amqpvalue.amqpvalue_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
            __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 328, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 328, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 328, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 328, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = NULL;
            __pyx_t_9 = 0;
            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
                __pyx_t_9 = 1;
              }
            }
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(__pyx_t_3)) {
              PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Destroying_r, __pyx_t_4};
              __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 328, __pyx_L6_error)
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            } else
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
              PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Destroying_r, __pyx_t_4};
              __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 328, __pyx_L6_error)
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            } else
            #endif
            {
              __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 328, __pyx_L6_error)
              __Pyx_GOTREF(__pyx_t_10);
              if (__pyx_t_2) {
                __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
              }
              __Pyx_INCREF(__pyx_kp_s_Destroying_r);
              __Pyx_GIVEREF(__pyx_kp_s_Destroying_r);
              PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_kp_s_Destroying_r);
              __Pyx_GIVEREF(__pyx_t_4);
              PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_4);
              __pyx_t_4 = 0;
              __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 328, __pyx_L6_error)
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
            }
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

            /* "src/amqpvalue.pyx":327
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(self._c_value)
 */
          }

          /* "src/amqpvalue.pyx":329
 *                 if _logger:
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          amqpvalue_destroy(__pyx_v_self->_c_value);

          /* "src/amqpvalue.pyx":326
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 if _logger:
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 */
        }

        /* "src/amqpvalue.pyx":325
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/amqpvalue.pyx":330
 *                     _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/amqpvalue.pyx":325
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 if _logger:
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/amqpvalue.pyx":333
 *             pass
 *         finally:
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqpvalue.AMQP_VALUE value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __Pyx_XGOTREF(__pyx_t_15);
      __pyx_t_9 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_XGIVEREF(__pyx_t_15);
        __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/amqpvalue.pyx":324
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_17destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_17destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_16destroy(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_16destroy(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_9AMQPValue_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":335
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL
 * 
 *     cdef wrap(self, c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, AMQP_VALUE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/amqpvalue.pyx":336
 * 
 *     cdef wrap(self, c_amqpvalue.AMQP_VALUE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":337
 *     cdef wrap(self, c_amqpvalue.AMQP_VALUE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/amqpvalue.pyx":338
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":335
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL
 * 
 *     cdef wrap(self, c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":340
 *         self._validate()
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_null()
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_19create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_19create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_18create(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_18create(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":341
 * 
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_null()             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_null();

  /* "src/amqpvalue.pyx":342
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_null()
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self->__pyx_vtab)->wrap(__pyx_v_self, __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":340
 *         self._validate()
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_null()
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":345
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._null_error()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4type___get__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_4type___get__(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_v_obj_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":346
 *     @property
 *     def type(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._null_error()
 *         obj_type = get_amqp_value_type(self._c_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":347
 *     def type(self):
 *         if <void*>self._c_value is NULL:
 *             self._null_error()             # <<<<<<<<<<<<<<
 *         obj_type = get_amqp_value_type(self._c_value)
 *         return obj_type
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_null_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 347, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 347, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":346
 *     @property
 *     def type(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._null_error()
 *         obj_type = get_amqp_value_type(self._c_value)
 */
  }

  /* "src/amqpvalue.pyx":348
 *         if <void*>self._c_value is NULL:
 *             self._null_error()
 *         obj_type = get_amqp_value_type(self._c_value)             # <<<<<<<<<<<<<<
 *         return obj_type
 * 
 */
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_get_amqp_value_type(__pyx_v_self->_c_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_obj_type = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":349
 *             self._null_error()
 *         obj_type = get_amqp_value_type(self._c_value)
 *         return obj_type             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_obj_type);
  __pyx_r = __pyx_v_obj_type;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":345
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._null_error()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_obj_type);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":352
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return None
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_5value___get__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":353
 *     @property
 *     def value(self):
 *         return None             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_encoded_size(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":352
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return None
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":355
 *         return None
 * 
 *     cpdef get_encoded_size(self):             # <<<<<<<<<<<<<<
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_21get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch) {
  size_t __pyx_v_length;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("get_encoded_size", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_encoded_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_21get_encoded_size)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 355, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 355, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":357
 *     cpdef get_encoded_size(self):
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get encoded size.")
 *         return length
 */
  __pyx_t_5 = ((amqpvalue_get_encoded_size(__pyx_v_self->_c_value, (&__pyx_v_length)) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/amqpvalue.pyx":358
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")             # <<<<<<<<<<<<<<
 *         return length
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":357
 *     cpdef get_encoded_size(self):
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get encoded size.")
 *         return length
 */
  }

  /* "src/amqpvalue.pyx":359
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")
 *         return length             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":355
 *         return None
 * 
 *     cpdef get_encoded_size(self):             # <<<<<<<<<<<<<<
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.get_encoded_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_21get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_21get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_encoded_size (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_20get_encoded_size(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_20get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_encoded_size", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_9AMQPValue_get_encoded_size(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.get_encoded_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":361
 *         return length
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_23clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9AMQPValue_clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_23clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 361, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 361, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":363
 *     cpdef clone(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_clone(__pyx_v_self->_c_value);

  /* "src/amqpvalue.pyx":364
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/amqpvalue.pyx":365
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 365, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 365, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":364
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  }

  /* "src/amqpvalue.pyx":366
 *         if <void*>value == NULL:
 *             self._value_error()
 *         return value_factory(value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":361
 *         return length
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_clone(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_23clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_23clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_22clone(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_22clone(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_9AMQPValue_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_24__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9AMQPValue_26__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9AMQPValue_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AMQPValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":373
 *     _type = AMQPType.BoolValue
 * 
 *     cpdef _bool_value(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqpvalue.amqpvalue_get_boolean(self._c_value, &_value) == 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_1_bool_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_9BoolValue__bool_value(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, int __pyx_skip_dispatch) {
  int __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("_bool_value", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bool_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9BoolValue_1_bool_value)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 373, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 373, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":375
 *     cpdef _bool_value(self):
 *         cdef bint _value
 *         if c_amqpvalue.amqpvalue_get_boolean(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_5 = ((amqpvalue_get_boolean(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_5) {

    /* "src/amqpvalue.pyx":376
 *         cdef bint _value
 *         if c_amqpvalue.amqpvalue_get_boolean(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":375
 *     cpdef _bool_value(self):
 *         cdef bint _value
 *         if c_amqpvalue.amqpvalue_get_boolean(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":378
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     def create(self, bint value):
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 378, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 378, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":373
 *     _type = AMQPType.BoolValue
 * 
 *     cpdef _bool_value(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqpvalue.amqpvalue_get_boolean(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue._bool_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_1_bool_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_1_bool_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_bool_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9BoolValue__bool_value(((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue__bool_value(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_bool_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_9BoolValue__bool_value(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue._bool_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":380
 *             self._value_error()
 * 
 *     def create(self, bint value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_boolean(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_3create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_3create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 380, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9BoolValue_2create(((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_2create(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, int __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":381
 * 
 *     def create(self, bint value):
 *         new_value = c_amqpvalue.amqpvalue_create_boolean(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_boolean(__pyx_v_value);

  /* "src/amqpvalue.pyx":382
 *     def create(self, bint value):
 *         new_value = c_amqpvalue.amqpvalue_create_boolean(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":380
 *             self._value_error()
 * 
 *     def create(self, bint value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_boolean(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":385
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         str_value = str(self)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9BoolValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self) {
  PyObject *__pyx_v_str_value = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":386
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         str_value = str(self)
 *         if str_value in ["false"]:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 386, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 386, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":387
 *     def value(self):
 *         assert self.type
 *         str_value = str(self)             # <<<<<<<<<<<<<<
 *         if str_value in ["false"]:
 *             return False
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_str_value = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":388
 *         assert self.type
 *         str_value = str(self)
 *         if str_value in ["false"]:             # <<<<<<<<<<<<<<
 *             return False
 *         elif str_value in ["true"]:
 */
  __Pyx_INCREF(__pyx_v_str_value);
  __pyx_t_1 = __pyx_v_str_value;
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_false, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "src/amqpvalue.pyx":389
 *         str_value = str(self)
 *         if str_value in ["false"]:
 *             return False             # <<<<<<<<<<<<<<
 *         elif str_value in ["true"]:
 *             return True
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":388
 *         assert self.type
 *         str_value = str(self)
 *         if str_value in ["false"]:             # <<<<<<<<<<<<<<
 *             return False
 *         elif str_value in ["true"]:
 */
  }

  /* "src/amqpvalue.pyx":390
 *         if str_value in ["false"]:
 *             return False
 *         elif str_value in ["true"]:             # <<<<<<<<<<<<<<
 *             return True
 *         else:
 */
  __Pyx_INCREF(__pyx_v_str_value);
  __pyx_t_1 = __pyx_v_str_value;
  __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_true, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(4, 390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (__pyx_t_3 != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":391
 *             return False
 *         elif str_value in ["true"]:
 *             return True             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":390
 *         if str_value in ["false"]:
 *             return False
 *         elif str_value in ["true"]:             # <<<<<<<<<<<<<<
 *             return True
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":393
 *             return True
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 393, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 393, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":385
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         str_value = str(self)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9BoolValue_4__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9BoolValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9BoolValue_6__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9BoolValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BoolValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":400
 *     _type = AMQPType.UByteValue
 * 
 *     def create(self, unsigned char value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ubyte(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned char __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_unsigned_char(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(4, 400, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.UByteValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10UByteValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)__pyx_v_self), ((unsigned char)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self, unsigned char __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":401
 * 
 *     def create(self, unsigned char value):
 *         new_value = c_amqpvalue.amqpvalue_create_ubyte(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_ubyte(__pyx_v_value);

  /* "src/amqpvalue.pyx":402
 *     def create(self, unsigned char value):
 *         new_value = c_amqpvalue.amqpvalue_create_ubyte(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_UByteValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":400
 *     _type = AMQPType.UByteValue
 * 
 *     def create(self, unsigned char value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ubyte(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UByteValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":405
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef unsigned char _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10UByteValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self) {
  unsigned char __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":406
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef unsigned char _value
 *         if c_amqpvalue.amqpvalue_get_ubyte(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 406, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 406, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":408
 *         assert self.type
 *         cdef unsigned char _value
 *         if c_amqpvalue.amqpvalue_get_ubyte(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_ubyte(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":409
 *         cdef unsigned char _value
 *         if c_amqpvalue.amqpvalue_get_ubyte(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_char(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":408
 *         assert self.type
 *         cdef unsigned char _value
 *         if c_amqpvalue.amqpvalue_get_ubyte(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":411
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 411, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 411, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":405
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef unsigned char _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.UByteValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10UByteValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UByteValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10UByteValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10UByteValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10UByteValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UByteValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":418
 *     _type = AMQPType.UShortValue
 * 
 *     def create(self, stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ushort(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint16_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint16_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 418, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.UShortValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11UShortValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)__pyx_v_self), ((uint16_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self, uint16_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":419
 * 
 *     def create(self, stdint.uint16_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_ushort(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_ushort(__pyx_v_value);

  /* "src/amqpvalue.pyx":420
 *     def create(self, stdint.uint16_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_ushort(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_UShortValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":418
 *     _type = AMQPType.UShortValue
 * 
 *     def create(self, stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ushort(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UShortValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":423
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint16_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11UShortValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self) {
  uint16_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":424
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint16_t _value
 *         if c_amqpvalue.amqpvalue_get_ushort(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 424, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 424, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":426
 *         assert self.type
 *         cdef stdint.uint16_t _value
 *         if c_amqpvalue.amqpvalue_get_ushort(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_ushort(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":427
 *         cdef stdint.uint16_t _value
 *         if c_amqpvalue.amqpvalue_get_ushort(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint16_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":426
 *         assert self.type
 *         cdef stdint.uint16_t _value
 *         if c_amqpvalue.amqpvalue_get_ushort(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":429
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 429, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 429, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":423
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint16_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.UShortValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11UShortValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UShortValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11UShortValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11UShortValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11UShortValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UShortValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":436
 *     _type = AMQPType.UIntValue
 * 
 *     def create(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_uint(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 436, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.UIntValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UIntValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self, uint32_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":437
 * 
 *     def create(self, stdint.uint32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_uint(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_uint(__pyx_v_value);

  /* "src/amqpvalue.pyx":438
 *     def create(self, stdint.uint32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_uint(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_UIntValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":436
 *     _type = AMQPType.UIntValue
 * 
 *     def create(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_uint(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UIntValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":441
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UIntValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":442
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_uint(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 442, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 442, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":444
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_uint(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_uint(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":445
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_uint(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":444
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_uint(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":447
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 447, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 447, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":441
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.UIntValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UIntValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__33, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UIntValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UIntValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UIntValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UIntValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UIntValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":454
 *     _type = AMQPType.ULongValue
 * 
 *     def create(self, stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ulong(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 454, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ULongValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ULongValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)__pyx_v_self), ((uint64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self, uint64_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":455
 * 
 *     def create(self, stdint.uint64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_ulong(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_ulong(__pyx_v_value);

  /* "src/amqpvalue.pyx":456
 *     def create(self, stdint.uint64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_ulong(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_ULongValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":454
 *     _type = AMQPType.ULongValue
 * 
 *     def create(self, stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_ulong(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ULongValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":459
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint64_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ULongValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self) {
  uint64_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":460
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint64_t _value
 *         if c_amqpvalue.amqpvalue_get_ulong(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 460, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 460, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":462
 *         assert self.type
 *         cdef stdint.uint64_t _value
 *         if c_amqpvalue.amqpvalue_get_ulong(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_ulong(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":463
 *         cdef stdint.uint64_t _value
 *         if c_amqpvalue.amqpvalue_get_ulong(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":462
 *         assert self.type
 *         cdef stdint.uint64_t _value
 *         if c_amqpvalue.amqpvalue_get_ulong(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":465
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 465, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 465, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":459
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint64_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ULongValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ULongValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ULongValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ULongValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ULongValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ULongValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ULongValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":472
 *     _type = AMQPType.ByteValue
 * 
 *     def create(self, char value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_byte(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_char(__pyx_arg_value); if (unlikely((__pyx_v_value == (char)-1) && PyErr_Occurred())) __PYX_ERR(4, 472, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ByteValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ByteValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)__pyx_v_self), ((char)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self, char __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":473
 * 
 *     def create(self, char value):
 *         new_value = c_amqpvalue.amqpvalue_create_byte(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_byte(__pyx_v_value);

  /* "src/amqpvalue.pyx":474
 *     def create(self, char value):
 *         new_value = c_amqpvalue.amqpvalue_create_byte(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_ByteValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":472
 *     _type = AMQPType.ByteValue
 * 
 *     def create(self, char value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_byte(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ByteValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":477
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef char _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ByteValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self) {
  char __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":478
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef char _value
 *         if c_amqpvalue.amqpvalue_get_byte(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 478, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 478, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":480
 *         assert self.type
 *         cdef char _value
 *         if c_amqpvalue.amqpvalue_get_byte(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_byte(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":481
 *         cdef char _value
 *         if c_amqpvalue.amqpvalue_get_byte(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_char(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":480
 *         assert self.type
 *         cdef char _value
 *         if c_amqpvalue.amqpvalue_get_byte(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":483
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 483, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 483, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":477
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef char _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ByteValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ByteValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ByteValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ByteValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ByteValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ByteValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ByteValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":490
 *     _type = AMQPType.ShortValue
 * 
 *     def create(self, stdint.int16_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_short(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int16_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int16_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 490, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ShortValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ShortValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)__pyx_v_self), ((int16_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self, int16_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":491
 * 
 *     def create(self, stdint.int16_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_short(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_short(__pyx_v_value);

  /* "src/amqpvalue.pyx":492
 *     def create(self, stdint.int16_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_short(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_ShortValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":490
 *     _type = AMQPType.ShortValue
 * 
 *     def create(self, stdint.int16_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_short(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ShortValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":495
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int16_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ShortValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self) {
  int16_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":496
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.int16_t _value
 *         if c_amqpvalue.amqpvalue_get_short(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 496, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 496, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":498
 *         assert self.type
 *         cdef stdint.int16_t _value
 *         if c_amqpvalue.amqpvalue_get_short(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_short(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":499
 *         cdef stdint.int16_t _value
 *         if c_amqpvalue.amqpvalue_get_short(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_int16_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":498
 *         assert self.type
 *         cdef stdint.int16_t _value
 *         if c_amqpvalue.amqpvalue_get_short(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":501
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 501, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 501, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":495
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int16_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ShortValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ShortValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ShortValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ShortValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ShortValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ShortValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ShortValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":508
 *     _type = AMQPType.IntValue
 * 
 *     def create(self, stdint.int32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_int(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 508, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.IntValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8IntValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)__pyx_v_self), ((int32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_create(struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self, int32_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":509
 * 
 *     def create(self, stdint.int32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_int(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_int(__pyx_v_value);

  /* "src/amqpvalue.pyx":510
 *     def create(self, stdint.int32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_int(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_IntValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":508
 *     _type = AMQPType.IntValue
 * 
 *     def create(self, stdint.int32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_int(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.IntValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":513
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8IntValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self) {
  int32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":514
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.int32_t _value
 *         if c_amqpvalue.amqpvalue_get_int(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 514, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 514, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":516
 *         assert self.type
 *         cdef stdint.int32_t _value
 *         if c_amqpvalue.amqpvalue_get_int(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_int(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":517
 *         cdef stdint.int32_t _value
 *         if c_amqpvalue.amqpvalue_get_int(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_int32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":516
 *         assert self.type
 *         cdef stdint.int32_t _value
 *         if c_amqpvalue.amqpvalue_get_int(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":519
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 519, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 519, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":513
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.IntValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8IntValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.IntValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8IntValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8IntValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8IntValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IntValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.IntValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":526
 *     _type = AMQPType.LongValue
 * 
 *     def create(self, stdint.int64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_long(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 526, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.LongValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9LongValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)__pyx_v_self), ((int64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_create(struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self, int64_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":527
 * 
 *     def create(self, stdint.int64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_long(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_long(__pyx_v_value);

  /* "src/amqpvalue.pyx":528
 *     def create(self, stdint.int64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_long(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_LongValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":526
 *     _type = AMQPType.LongValue
 * 
 *     def create(self, stdint.int64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_long(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.LongValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":531
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int64_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9LongValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self) {
  int64_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":532
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_long(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 532, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 532, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":534
 *         assert self.type
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_long(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_long(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":535
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_long(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":534
 *         assert self.type
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_long(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":537
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 537, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 537, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":531
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int64_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.LongValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9LongValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.LongValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9LongValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9LongValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9LongValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_LongValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.LongValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":544
 *     _type = AMQPType.FloatValue
 * 
 *     def create(self, float value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_float(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  float __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsFloat(__pyx_arg_value); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(4, 544, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.FloatValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10FloatValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)__pyx_v_self), ((float)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_create(struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self, float __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":545
 * 
 *     def create(self, float value):
 *         new_value = c_amqpvalue.amqpvalue_create_float(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_float(__pyx_v_value);

  /* "src/amqpvalue.pyx":546
 *     def create(self, float value):
 *         new_value = c_amqpvalue.amqpvalue_create_float(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_FloatValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":544
 *     _type = AMQPType.FloatValue
 * 
 *     def create(self, float value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_float(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.FloatValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":549
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef float _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10FloatValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self) {
  float __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":550
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef float _value
 *         if c_amqpvalue.amqpvalue_get_float(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 550, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 550, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":552
 *         assert self.type
 *         cdef float _value
 *         if c_amqpvalue.amqpvalue_get_float(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_float(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":553
 *         cdef float _value
 *         if c_amqpvalue.amqpvalue_get_float(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":552
 *         assert self.type
 *         cdef float _value
 *         if c_amqpvalue.amqpvalue_get_float(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":555
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 555, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 555, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":549
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef float _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.FloatValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10FloatValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.FloatValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10FloatValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10FloatValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10FloatValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.FloatValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":562
 *     _type = AMQPType.DoubleValue
 * 
 *     def create(self, double value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_double(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  double __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __pyx_PyFloat_AsDouble(__pyx_arg_value); if (unlikely((__pyx_v_value == (double)-1) && PyErr_Occurred())) __PYX_ERR(4, 562, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.DoubleValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11DoubleValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)__pyx_v_self), ((double)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self, double __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":563
 * 
 *     def create(self, double value):
 *         new_value = c_amqpvalue.amqpvalue_create_double(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_double(__pyx_v_value);

  /* "src/amqpvalue.pyx":564
 *     def create(self, double value):
 *         new_value = c_amqpvalue.amqpvalue_create_double(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_DoubleValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":562
 *     _type = AMQPType.DoubleValue
 * 
 *     def create(self, double value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_double(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DoubleValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":567
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef double _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11DoubleValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self) {
  double __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":568
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef double _value
 *         if c_amqpvalue.amqpvalue_get_double(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 568, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 568, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":570
 *         assert self.type
 *         cdef double _value
 *         if c_amqpvalue.amqpvalue_get_double(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_double(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":571
 *         cdef double _value
 *         if c_amqpvalue.amqpvalue_get_double(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":570
 *         assert self.type
 *         cdef double _value
 *         if c_amqpvalue.amqpvalue_get_double(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":573
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 573, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 573, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":567
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef double _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DoubleValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11DoubleValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DoubleValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11DoubleValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11DoubleValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DoubleValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":580
 *     _type = AMQPType.CharValue
 * 
 *     def create(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_char(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 580, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CharValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9CharValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_create(struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self, uint32_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":581
 * 
 *     def create(self, stdint.uint32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_char(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_char(__pyx_v_value);

  /* "src/amqpvalue.pyx":582
 *     def create(self, stdint.uint32_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_char(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CharValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":580
 *     _type = AMQPType.CharValue
 * 
 *     def create(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_char(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CharValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":585
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9CharValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":586
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_char(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 586, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 586, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":588
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_char(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return chr(_value)
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_char(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":589
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_char(self._c_value, &_value) == 0:
 *             return chr(_value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_chr, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":588
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_char(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return chr(_value)
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":591
 *             return chr(_value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 591, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 591, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }

  /* "src/amqpvalue.pyx":585
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CharValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9CharValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CharValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9CharValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9CharValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9CharValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CharValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CharValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":598
 *     _type = AMQPType.TimestampValue
 * 
 *     def create(self, stdint.int64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_timestamp(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int64_t __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 598, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.TimestampValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14TimestampValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)__pyx_v_self), ((int64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_create(struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self, int64_t __pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":599
 * 
 *     def create(self, stdint.int64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_timestamp(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_timestamp(__pyx_v_value);

  /* "src/amqpvalue.pyx":600
 *     def create(self, stdint.int64_t value):
 *         new_value = c_amqpvalue.amqpvalue_create_timestamp(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_TimestampValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":598
 *     _type = AMQPType.TimestampValue
 * 
 *     def create(self, stdint.int64_t value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_timestamp(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TimestampValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":603
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int64_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14TimestampValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self) {
  int64_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":604
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_timestamp(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 604, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 604, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":606
 *         assert self.type
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_timestamp(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_timestamp(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":607
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_timestamp(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":606
 *         assert self.type
 *         cdef stdint.int64_t _value
 *         if c_amqpvalue.amqpvalue_get_timestamp(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":609
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 609, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 609, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":603
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.int64_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.TimestampValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14TimestampValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TimestampValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14TimestampValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14TimestampValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TimestampValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":616
 *     _type = AMQPType.UUIDValue
 * 
 *     def create(self, bytes value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_uuid(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyBytes_Type), 1, "value", 1))) __PYX_ERR(4, 616, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UUIDValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_create(struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self, PyObject *__pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  unsigned char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":617
 * 
 *     def create(self, bytes value):
 *         new_value = c_amqpvalue.amqpvalue_create_uuid(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(4, 617, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyBytes_AsWritableUString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(4, 617, __pyx_L1_error)
  __pyx_v_new_value = amqpvalue_create_uuid(__pyx_t_1);

  /* "src/amqpvalue.pyx":618
 *     def create(self, bytes value):
 *         new_value = c_amqpvalue.amqpvalue_create_uuid(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_UUIDValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":616
 *     _type = AMQPType.UUIDValue
 * 
 *     def create(self, bytes value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_uuid(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.UUIDValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":621
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         str_val = str(self)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UUIDValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self) {
  PyObject *__pyx_v_str_val = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":622
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         str_val = str(self)
 *         return uuid.UUID(str_val)  # TODO: Get proper value
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 622, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 622, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":623
 *     def value(self):
 *         assert self.type
 *         str_val = str(self)             # <<<<<<<<<<<<<<
 *         return uuid.UUID(str_val)  # TODO: Get proper value
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_str_val = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":624
 *         assert self.type
 *         str_val = str(self)
 *         return uuid.UUID(str_val)  # TODO: Get proper value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_uuid); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_UUID); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_str_val); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_str_val};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 624, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_str_val};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 624, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 624, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_INCREF(__pyx_v_str_val);
      __Pyx_GIVEREF(__pyx_v_str_val);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_str_val);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 624, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":621
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         str_val = str(self)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.UUIDValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_val);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UUIDValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UUIDValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9UUIDValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9UUIDValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.UUIDValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":631
 *     _type = AMQPType.BinaryValue
 * 
 *     def create(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = len(list(value))
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyBytes_Type), 1, "value", 1))) __PYX_ERR(4, 631, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_create(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self, PyObject *__pyx_v_value) {
  amqp_binary __pyx_v__binary;
  Py_ssize_t __pyx_v_length;
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  char *__pyx_t_3;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":633
 *     def create(self, bytes value):
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = len(list(value))             # <<<<<<<<<<<<<<
 *         _binary.length = length
 *         _binary.bytes = <char*>value
 */
  __pyx_t_1 = PySequence_List(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(4, 633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_length = __pyx_t_2;

  /* "src/amqpvalue.pyx":634
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = len(list(value))
 *         _binary.length = length             # <<<<<<<<<<<<<<
 *         _binary.bytes = <char*>value
 *         new_value = c_amqpvalue.amqpvalue_create_binary(_binary)
 */
  __pyx_v__binary.length = __pyx_v_length;

  /* "src/amqpvalue.pyx":635
 *         length = len(list(value))
 *         _binary.length = length
 *         _binary.bytes = <char*>value             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_binary(_binary)
 *         self.wrap(new_value)
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(4, 635, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyBytes_AsWritableString(__pyx_v_value); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(4, 635, __pyx_L1_error)
  __pyx_v__binary.bytes = ((char *)__pyx_t_3);

  /* "src/amqpvalue.pyx":636
 *         _binary.length = length
 *         _binary.bytes = <char*>value
 *         new_value = c_amqpvalue.amqpvalue_create_binary(_binary)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_binary(__pyx_v__binary);

  /* "src/amqpvalue.pyx":637
 *         _binary.bytes = <char*>value
 *         new_value = c_amqpvalue.amqpvalue_create_binary(_binary)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":631
 *     _type = AMQPType.BinaryValue
 * 
 *     def create(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = len(list(value))
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BinaryValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":639
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_11BinaryValue_3__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_11BinaryValue_3__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_2__len__(((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self) {
  amqp_binary __pyx_v__value;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/amqpvalue.pyx":640
 * 
 *     def __len__(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 640, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 640, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":642
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value.length
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_binary(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":643
 *         cdef c_amqpvalue.amqp_binary _value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:
 *             return _value.length             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __pyx_r = __pyx_v__value.length;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":642
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value.length
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":645
 *             return _value.length
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 645, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 645, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":639
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.BinaryValue.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":648
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self) {
  amqp_binary __pyx_v__value;
  char *__pyx_v_bytes_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":649
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _value
 *         cdef char* bytes_value
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 649, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 649, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":652
 *         cdef c_amqpvalue.amqp_binary _value
 *         cdef char* bytes_value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             bytes_value = <char*>_value.bytes
 *             return bytes_value[:_value.length]
 */
  __pyx_t_2 = ((amqpvalue_get_binary(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":653
 *         cdef char* bytes_value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:
 *             bytes_value = <char*>_value.bytes             # <<<<<<<<<<<<<<
 *             return bytes_value[:_value.length]
 *         else:
 */
    __pyx_v_bytes_value = ((char *)__pyx_v__value.bytes);

    /* "src/amqpvalue.pyx":654
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:
 *             bytes_value = <char*>_value.bytes
 *             return bytes_value[:_value.length]             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_bytes_value + 0, __pyx_v__value.length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":652
 *         cdef c_amqpvalue.amqp_binary _value
 *         cdef char* bytes_value
 *         if c_amqpvalue.amqpvalue_get_binary(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             bytes_value = <char*>_value.bytes
 *             return bytes_value[:_value.length]
 */
  }

  /* "src/amqpvalue.pyx":656
 *             return bytes_value[:_value.length]
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 656, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 656, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":648
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.amqp_binary _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.BinaryValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_4__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BinaryValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11BinaryValue_6__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11BinaryValue_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.BinaryValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":663
 *     _type = AMQPType.StringValue
 * 
 *     def create(self, char* value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_string(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(4, 663, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.StringValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11StringValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_create(struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self, char *__pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":664
 * 
 *     def create(self, char* value):
 *         new_value = c_amqpvalue.amqpvalue_create_string(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_string(__pyx_v_value);

  /* "src/amqpvalue.pyx":665
 *     def create(self, char* value):
 *         new_value = c_amqpvalue.amqpvalue_create_string(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_StringValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":663
 *     _type = AMQPType.StringValue
 * 
 *     def create(self, char* value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_string(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.StringValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":668
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef const char* _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11StringValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self) {
  char const *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":669
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_string(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 669, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 669, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":671
 *         assert self.type
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_string(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(_value)
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_string(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":672
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_string(self._c_value, &_value) == 0:
 *             return copy.deepcopy(_value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 672, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 672, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 672, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 672, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 672, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":671
 *         assert self.type
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_string(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(_value)
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":674
 *             return copy.deepcopy(_value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 674, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 674, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":668
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef const char* _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.StringValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11StringValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.StringValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11StringValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11StringValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11StringValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StringValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.StringValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":681
 *     _type = AMQPType.SymbolValue
 * 
 *     def create(self, char* value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_symbol(value)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(4, 681, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.SymbolValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11SymbolValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_create(struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self, char *__pyx_v_value) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":682
 * 
 *     def create(self, char* value):
 *         new_value = c_amqpvalue.amqpvalue_create_symbol(value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_symbol(__pyx_v_value);

  /* "src/amqpvalue.pyx":683
 *     def create(self, char* value):
 *         new_value = c_amqpvalue.amqpvalue_create_symbol(value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SymbolValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":681
 *     _type = AMQPType.SymbolValue
 * 
 *     def create(self, char* value):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_symbol(value)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SymbolValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":686
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef const char* _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11SymbolValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self) {
  char const *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":687
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_symbol(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 687, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 687, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":689
 *         assert self.type
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_symbol(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(_value)
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_symbol(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":690
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_symbol(self._c_value, &_value) == 0:
 *             return copy.deepcopy(_value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 690, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 690, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 690, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 690, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 690, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":689
 *         assert self.type
 *         cdef const char* _value
 *         if c_amqpvalue.amqpvalue_get_symbol(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(_value)
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":692
 *             return copy.deepcopy(_value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 692, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 692, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":686
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef const char* _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.SymbolValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11SymbolValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SymbolValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11SymbolValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11SymbolValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SymbolValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":699
 *     _type = AMQPType.ListValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_list()
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":700
 * 
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_list()             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_list();

  /* "src/amqpvalue.pyx":701
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_list()
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_ListValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":699
 *     _type = AMQPType.ListValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_list()
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":703
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_9ListValue_3__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_9ListValue_3__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_2__len__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_9ListValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/amqpvalue.pyx":704
 * 
 *     def __len__(self):
 *         return self.size             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, size_t index):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":703
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":706
 *         return self.size
 * 
 *     def __getitem__(self, size_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  size_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_size_t(__pyx_arg_index); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 706, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_4__getitem__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self), ((size_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, size_t __pyx_v_index) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/amqpvalue.pyx":707
 * 
 *     def __getitem__(self, size_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(4, 707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":708
 *     def __getitem__(self, size_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 708, __pyx_L1_error)

    /* "src/amqpvalue.pyx":707
 * 
 *     def __getitem__(self, size_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  }

  /* "src/amqpvalue.pyx":710
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_list_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_index);

  /* "src/amqpvalue.pyx":711
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  __pyx_t_4 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_4) {

    /* "src/amqpvalue.pyx":712
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 712, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 712, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":711
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  }

  /* "src/amqpvalue.pyx":713
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_7);
    /*try:*/ {

      /* "src/amqpvalue.pyx":714
 *             self._value_error()
 *         try:
 *             return value_factory(value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             return None
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 714, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L9_try_return;

      /* "src/amqpvalue.pyx":713
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    }
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":715
 *         try:
 *             return value_factory(value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             return None
 * 
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_8) {
      __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(4, 715, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_1);

      /* "src/amqpvalue.pyx":716
 *             return value_factory(value)
 *         except TypeError:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L8_except_return;
    }
    goto __pyx_L7_except_error;
    __pyx_L7_except_error:;

    /* "src/amqpvalue.pyx":713
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L1_error;
    __pyx_L9_try_return:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L0;
    __pyx_L8_except_return:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":706
 *         return self.size
 * 
 *     def __getitem__(self, size_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":718
 *             return None
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert value.type
 *         if index >= self.size:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_9ListValue_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_9ListValue_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index, PyObject *__pyx_v_value) {
  uint32_t __pyx_v_index;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 718, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 718, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_6__setitem__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self), ((uint32_t)__pyx_v_index), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_9ListValue_6__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, uint32_t __pyx_v_index, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "src/amqpvalue.pyx":719
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_value), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 719, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 719, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":720
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "src/amqpvalue.pyx":721
 *         assert value.type
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(4, 721, __pyx_L1_error)

    /* "src/amqpvalue.pyx":720
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:
 */
  }

  /* "src/amqpvalue.pyx":722
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_2 = ((amqpvalue_set_list_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_index, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":723
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 723, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 723, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/amqpvalue.pyx":722
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":718
 *             return None
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert value.type
 *         if index >= self.size:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":726
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_4size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":727
 *     @property
 *     def size(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_list_item_count(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 727, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 727, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":729
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_list_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_list_item_count(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":730
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_list_item_count(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":729
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_list_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":732
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @size.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 732, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 732, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":726
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":735
 * 
 *     @size.setter
 *     def size(self, stdint.uint32_t length):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_length); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_length) {
  uint32_t __pyx_v_length;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_length); {
    __pyx_v_length = __Pyx_PyInt_As_uint32_t(__pyx_arg_length); if (unlikely((__pyx_v_length == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 735, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_4size_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self), ((uint32_t)__pyx_v_length));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_9ListValue_4size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, uint32_t __pyx_v_length) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/amqpvalue.pyx":736
 *     @size.setter
 *     def size(self, stdint.uint32_t length):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:
 *             self._value_error()
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 736, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 736, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":737
 *     def size(self, stdint.uint32_t length):
 *         assert self.type
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_2 = ((amqpvalue_set_list_item_count(__pyx_v_self->__pyx_base._c_value, __pyx_v_length) != 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":738
 *         assert self.type
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 738, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 738, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":737
 *     def size(self, stdint.uint32_t length):
 *         assert self.type
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":735
 * 
 *     @size.setter
 *     def size(self, stdint.uint32_t length):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         if c_amqpvalue.amqpvalue_set_list_item_count(self._c_value, length) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":741
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self) {
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":742
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         value = []
 *         for i in range(self.size):
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 742, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 742, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":743
 *     def value(self):
 *         assert self.type
 *         value = []             # <<<<<<<<<<<<<<
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_value = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":744
 *         assert self.type
 *         value = []
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             value.append(copy.deepcopy(self[i].value))
 *         return value
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 744, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 744, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 744, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 744, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 744, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      }
    } else {
      __pyx_t_3 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(4, 744, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":745
 *         value = []
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 745, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 745, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 745, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 745, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 745, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(4, 745, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":744
 *         assert self.type
 *         value = []
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             value.append(copy.deepcopy(self[i].value))
 *         return value
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":746
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))
 *         return value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_value);
  __pyx_r = __pyx_v_value;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":741
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_8__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9ListValue_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9ListValue_10__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9ListValue_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ListValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ListValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":753
 *     _type = AMQPType.DictValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_map()
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":754
 * 
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_map()             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_map();

  /* "src/amqpvalue.pyx":755
 *     def create(self):
 *         new_value = c_amqpvalue.amqpvalue_create_map()
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_DictValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":753
 *     _type = AMQPType.DictValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_map()
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":757
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_9DictValue_3__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_9DictValue_3__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_2__len__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_9DictValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/amqpvalue.pyx":758
 * 
 *     def __len__(self):
 *         return self.size             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, AMQPValue key):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":757
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":760
 *         return self.size
 * 
 *     def __getitem__(self, AMQPValue key):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_key), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "key", 0))) __PYX_ERR(4, 760, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_4__getitem__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_key));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_key) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/amqpvalue.pyx":762
 *     def __getitem__(self, AMQPValue key):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             raise KeyError("No value found for key: {}".format(key.value))
 */
  __pyx_v_value = amqpvalue_get_map_value(__pyx_v_self->__pyx_base._c_value, __pyx_v_key->_c_value);

  /* "src/amqpvalue.pyx":763
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:
 */
  __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/amqpvalue.pyx":764
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)
 *         if <void*>value == NULL:
 *             raise KeyError("No value found for key: {}".format(key.value))             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(value)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_No_value_found_for_key, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_key), __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 764, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 764, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 764, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 764, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 764, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 764, __pyx_L1_error)

    /* "src/amqpvalue.pyx":763
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:
 */
  }

  /* "src/amqpvalue.pyx":765
 *         if <void*>value == NULL:
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_9);
    /*try:*/ {

      /* "src/amqpvalue.pyx":766
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:
 *             return value_factory(value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             return None
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 766, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L8_try_return;

      /* "src/amqpvalue.pyx":765
 *         if <void*>value == NULL:
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    }
    __pyx_L4_error:;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":767
 *         try:
 *             return value_factory(value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             return None
 * 
 */
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_10) {
      __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(4, 767, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_6);

      /* "src/amqpvalue.pyx":768
 *             return value_factory(value)
 *         except TypeError:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, AMQPValue key, AMQPValue value):
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L7_except_return;
    }
    goto __pyx_L6_except_error;
    __pyx_L6_except_error:;

    /* "src/amqpvalue.pyx":765
 *         if <void*>value == NULL:
 *             raise KeyError("No value found for key: {}".format(key.value))
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L1_error;
    __pyx_L8_try_return:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L0;
    __pyx_L7_except_return:;
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_XGIVEREF(__pyx_t_9);
    __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":760
 *         return self.size
 * 
 *     def __getitem__(self, AMQPValue key):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_map_value(self._c_value, key._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":770
 *             return None
 * 
 *     def __setitem__(self, AMQPValue key, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_map_value(self._c_value, key._c_value, value._c_value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_9DictValue_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_9DictValue_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_key), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "key", 0))) __PYX_ERR(4, 770, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 770, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_6__setitem__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_key), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_9DictValue_6__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_key, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "src/amqpvalue.pyx":771
 * 
 *     def __setitem__(self, AMQPValue key, AMQPValue value):
 *         if c_amqpvalue.amqpvalue_set_map_value(self._c_value, key._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((amqpvalue_set_map_value(__pyx_v_self->__pyx_base._c_value, __pyx_v_key->_c_value, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":772
 *     def __setitem__(self, AMQPValue key, AMQPValue value):
 *         if c_amqpvalue.amqpvalue_set_map_value(self._c_value, key._c_value, value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     def get(self, stdint.uint32_t index):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 772, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 772, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":771
 * 
 *     def __setitem__(self, AMQPValue key, AMQPValue value):
 *         if c_amqpvalue.amqpvalue_set_map_value(self._c_value, key._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":770
 *             return None
 * 
 *     def __setitem__(self, AMQPValue key, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_map_value(self._c_value, key._c_value, value._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":774
 *             self._value_error()
 * 
 *     def get(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_9get(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_9get(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  uint32_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 774, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.get", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_8get(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self), ((uint32_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_8get(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, uint32_t __pyx_v_index) {
  AMQP_VALUE __pyx_v_key;
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __Pyx_RefNannySetupContext("get", 0);

  /* "src/amqpvalue.pyx":775
 * 
 *     def get(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE key
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(4, 775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":776
 *     def get(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE key
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 776, __pyx_L1_error)

    /* "src/amqpvalue.pyx":775
 * 
 *     def get(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE key
 */
  }

  /* "src/amqpvalue.pyx":779
 *         cdef c_amqpvalue.AMQP_VALUE key
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_amqpvalue.amqpvalue_get_map_key_value_pair(self._c_value, index, &key,  &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return (value_factory(key), value_factory(value))
 */
  __pyx_t_4 = ((amqpvalue_get_map_key_value_pair(__pyx_v_self->__pyx_base._c_value, __pyx_v_index, (&__pyx_v_key), (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_4) {

    /* "src/amqpvalue.pyx":780
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_amqpvalue.amqpvalue_get_map_key_value_pair(self._c_value, index, &key,  &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return (value_factory(key), value_factory(value))
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 780, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 780, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":779
 *         cdef c_amqpvalue.AMQP_VALUE key
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_amqpvalue.amqpvalue_get_map_key_value_pair(self._c_value, index, &key,  &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return (value_factory(key), value_factory(value))
 */
  }

  /* "src/amqpvalue.pyx":781
 *         if c_amqpvalue.amqpvalue_get_map_key_value_pair(self._c_value, index, &key,  &value) != 0:
 *             self._value_error()
 *         return (value_factory(key), value_factory(value))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":774
 *             self._value_error()
 * 
 *     def get(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.get", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":784
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_4size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":785
 *     @property
 *     def size(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_map_pair_count(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 785, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 785, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":787
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_map_pair_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_map_pair_count(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":788
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_map_pair_count(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":787
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_map_pair_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":790
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 790, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 790, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":784
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":793
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = {}
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self) {
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_item = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":794
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         value = {}
 *         for i in range(self.size):
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 794, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 794, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":795
 *     def value(self):
 *         assert self.type
 *         value = {}             # <<<<<<<<<<<<<<
 *         for i in range(self.size):
 *             key, item = self.get(i)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_value = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":796
 *         assert self.type
 *         value = {}
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             key, item = self.get(i)
 *             value[copy.deepcopy(key.value)] = copy.deepcopy(item.value)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 796, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 796, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 796, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 796, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 796, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      }
    } else {
      __pyx_t_3 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(4, 796, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":797
 *         value = {}
 *         for i in range(self.size):
 *             key, item = self.get(i)             # <<<<<<<<<<<<<<
 *             value[copy.deepcopy(key.value)] = copy.deepcopy(item.value)
 *         return value
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_i};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 797, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_i};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 797, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 797, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_INCREF(__pyx_v_i);
        __Pyx_GIVEREF(__pyx_v_i);
        PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_i);
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 797, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
      PyObject* sequence = __pyx_t_3;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(4, 797, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_8 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      #else
      __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      #endif
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 797, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext;
      index = 0; __pyx_t_6 = __pyx_t_9(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      index = 1; __pyx_t_8 = __pyx_t_9(__pyx_t_7); if (unlikely(!__pyx_t_8)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_8);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_7), 2) < 0) __PYX_ERR(4, 797, __pyx_L1_error)
      __pyx_t_9 = NULL;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_9 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(4, 797, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "src/amqpvalue.pyx":798
 *         for i in range(self.size):
 *             key, item = self.get(i)
 *             value[copy.deepcopy(key.value)] = copy.deepcopy(item.value)             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_item, __pyx_n_s_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 798, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_value); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 798, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_GOTREF(__pyx_t_6);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_10};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_10};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else
      #endif
      {
        __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_10);
        PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(PyDict_SetItem(__pyx_v_value, __pyx_t_6, __pyx_t_3) < 0)) __PYX_ERR(4, 798, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":796
 *         assert self.type
 *         value = {}
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             key, item = self.get(i)
 *             value[copy.deepcopy(key.value)] = copy.deepcopy(item.value)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":799
 *             key, item = self.get(i)
 *             value[copy.deepcopy(key.value)] = copy.deepcopy(item.value)
 *         return value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_value);
  __pyx_r = __pyx_v_value;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":793
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = {}
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_10__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9DictValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9DictValue_12__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9DictValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DictValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DictValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":806
 *     _type = AMQPType.ArrayValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqpvalue.amqpvalue_create_array()
 *         self._validate()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_1create(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_create(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":807
 * 
 *     def create(self):
 *         self._c_value = c_amqpvalue.amqpvalue_create_array()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_array();

  /* "src/amqpvalue.pyx":808
 *     def create(self):
 *         self._c_value = c_amqpvalue.amqpvalue_create_array()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":806
 *     _type = AMQPType.ArrayValue
 * 
 *     def create(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqpvalue.amqpvalue_create_array()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":810
 *         self._validate()
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_3__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_3__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_2__len__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_2__len__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/amqpvalue.pyx":811
 * 
 *     def __len__(self):
 *         return self.size             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":810
 *         self._validate()
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":813
 *         return self.size
 * 
 *     def __getitem__(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  uint32_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 813, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4__getitem__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self), ((uint32_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, uint32_t __pyx_v_index) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/amqpvalue.pyx":814
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(4, 814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":815
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 815, __pyx_L1_error)

    /* "src/amqpvalue.pyx":814
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  }

  /* "src/amqpvalue.pyx":817
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_array_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_index);

  /* "src/amqpvalue.pyx":818
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  __pyx_t_4 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_4) {

    /* "src/amqpvalue.pyx":819
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 819, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 819, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":818
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  }

  /* "src/amqpvalue.pyx":820
 *         if <void*>value == NULL:
 *             self._value_error()
 *         return value_factory(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":813
 *         return self.size
 * 
 *     def __getitem__(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":823
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":824
 *     @property
 *     def size(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_array_item_count(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 824, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 824, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":826
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_array_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_array_item_count(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":827
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_array_item_count(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":826
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_array_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":829
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef append(self, AMQPValue value):
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 829, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 829, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":823
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":831
 *             self._value_error()
 * 
 *     cpdef append(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_7append(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10ArrayValue_append(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  CYTHON_UNUSED AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("append", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_append); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_7append)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 831, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 831, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 831, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 831, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 831, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":832
 * 
 *     cpdef append(self, AMQPValue value):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = <c_amqpvalue.AMQP_VALUE>value._c_value
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(4, 832, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_6)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 832, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":834
 *         assert self.type
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = <c_amqpvalue.AMQP_VALUE>value._c_value             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_add_array_item(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error()
 */
  __pyx_v__value = __pyx_v_value->_c_value;

  /* "src/amqpvalue.pyx":835
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = <c_amqpvalue.AMQP_VALUE>value._c_value
 *         if c_amqpvalue.amqpvalue_add_array_item(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_6 = ((amqpvalue_add_array_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/amqpvalue.pyx":836
 *         _value = <c_amqpvalue.AMQP_VALUE>value._c_value
 *         if c_amqpvalue.amqpvalue_add_array_item(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 836, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 836, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/amqpvalue.pyx":835
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = <c_amqpvalue.AMQP_VALUE>value._c_value
 *         if c_amqpvalue.amqpvalue_add_array_item(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":831
 *             self._value_error()
 * 
 *     cpdef append(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_7append(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_7append(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("append (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 831, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_6append(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_6append(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("append", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10ArrayValue_append(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":839
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self) {
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":840
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         value = []
 *         for i in range(self.size):
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 840, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 840, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":841
 *     def value(self):
 *         assert self.type
 *         value = []             # <<<<<<<<<<<<<<
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_value = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":842
 *         assert self.type
 *         value = []
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             value.append(copy.deepcopy(self[i].value))
 *         return value
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 842, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 842, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 842, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(4, 842, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 842, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      }
    } else {
      __pyx_t_3 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(4, 842, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":843
 *         value = []
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 843, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 843, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 843, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_8);
        __pyx_t_8 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_value, __pyx_t_3); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(4, 843, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":842
 *         assert self.type
 *         value = []
 *         for i in range(self.size):             # <<<<<<<<<<<<<<
 *             value.append(copy.deepcopy(self[i].value))
 *         return value
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":844
 *         for i in range(self.size):
 *             value.append(copy.deepcopy(self[i].value))
 *         return value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_value);
  __pyx_r = __pyx_v_value;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":839
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         value = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_8__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10ArrayValue_10__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10ArrayValue_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.ArrayValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":851
 *     _type = AMQPType.CompositeType
 * 
 *     def create(self, AMQPValue descriptor, stdint.uint32_t list_size):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_composite(descriptor._c_value, list_size)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor = 0;
  uint32_t __pyx_v_list_size;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_descriptor,&__pyx_n_s_list_size,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_descriptor)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_list_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); __PYX_ERR(4, 851, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) __PYX_ERR(4, 851, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_descriptor = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[0]);
    __pyx_v_list_size = __Pyx_PyInt_As_uint32_t(values[1]); if (unlikely((__pyx_v_list_size == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 851, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(4, 851, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_descriptor), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "descriptor", 0))) __PYX_ERR(4, 851, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), __pyx_v_descriptor, __pyx_v_list_size);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_create(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, uint32_t __pyx_v_list_size) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":852
 * 
 *     def create(self, AMQPValue descriptor, stdint.uint32_t list_size):
 *         new_value = c_amqpvalue.amqpvalue_create_composite(descriptor._c_value, list_size)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_composite(__pyx_v_descriptor->_c_value, __pyx_v_list_size);

  /* "src/amqpvalue.pyx":853
 *     def create(self, AMQPValue descriptor, stdint.uint32_t list_size):
 *         new_value = c_amqpvalue.amqpvalue_create_composite(descriptor._c_value, list_size)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     def create_from_long(self, stdint.uint64_t descriptor):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":851
 *     _type = AMQPType.CompositeType
 * 
 *     def create(self, AMQPValue descriptor, stdint.uint32_t list_size):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_composite(descriptor._c_value, list_size)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":855
 *         self.wrap(new_value)
 * 
 *     def create_from_long(self, stdint.uint64_t descriptor):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_composite_with_ulong_descriptor(descriptor)
 *         self.wrap(new_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_3create_from_long(PyObject *__pyx_v_self, PyObject *__pyx_arg_descriptor); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_3create_from_long(PyObject *__pyx_v_self, PyObject *__pyx_arg_descriptor) {
  uint64_t __pyx_v_descriptor;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_from_long (wrapper)", 0);
  assert(__pyx_arg_descriptor); {
    __pyx_v_descriptor = __Pyx_PyInt_As_uint64_t(__pyx_arg_descriptor); if (unlikely((__pyx_v_descriptor == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 855, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.create_from_long", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_2create_from_long(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), ((uint64_t)__pyx_v_descriptor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_2create_from_long(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint64_t __pyx_v_descriptor) {
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_from_long", 0);

  /* "src/amqpvalue.pyx":856
 * 
 *     def create_from_long(self, stdint.uint64_t descriptor):
 *         new_value = c_amqpvalue.amqpvalue_create_composite_with_ulong_descriptor(descriptor)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_composite_with_ulong_descriptor(__pyx_v_descriptor);

  /* "src/amqpvalue.pyx":857
 *     def create_from_long(self, stdint.uint64_t descriptor):
 *         new_value = c_amqpvalue.amqpvalue_create_composite_with_ulong_descriptor(descriptor)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":855
 *         self.wrap(new_value)
 * 
 *     def create_from_long(self, stdint.uint64_t descriptor):             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_composite_with_ulong_descriptor(descriptor)
 *         self.wrap(new_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.create_from_long", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":859
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_5__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_5__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4__len__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4__len__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/amqpvalue.pyx":860
 * 
 *     def __len__(self):
 *         return self.size             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":859
 *         self.wrap(new_value)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self.size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":862
 *         return self.size
 * 
 *     def __getitem__(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  uint32_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 862, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_6__getitem__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), ((uint32_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_6__getitem__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/amqpvalue.pyx":863
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(4, 863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":864
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 864, __pyx_L1_error)

    /* "src/amqpvalue.pyx":863
 * 
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  }

  /* "src/amqpvalue.pyx":866
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_composite_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_index);

  /* "src/amqpvalue.pyx":867
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  __pyx_t_4 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_4) {

    /* "src/amqpvalue.pyx":868
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 868, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 868, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":867
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  }

  /* "src/amqpvalue.pyx":869
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_7);
    /*try:*/ {

      /* "src/amqpvalue.pyx":870
 *             self._value_error()
 *         try:
 *             return value_factory(value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             raise IndexError("No item found at index {}".format(index))
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 870, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L9_try_return;

      /* "src/amqpvalue.pyx":869
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    }
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":871
 *         try:
 *             return value_factory(value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             raise IndexError("No item found at index {}".format(index))
 * 
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_8) {
      __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(4, 871, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_1);

      /* "src/amqpvalue.pyx":872
 *             return value_factory(value)
 *         except TypeError:
 *             raise IndexError("No item found at index {}".format(index))             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_No_item_found_at_index, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 872, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 872, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_12)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_12);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (!__pyx_t_12) {
        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 872, __pyx_L7_except_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_11};
          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 872, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_11};
          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 872, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(4, 872, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
          __Pyx_GIVEREF(__pyx_t_11);
          PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_11);
          __pyx_t_11 = 0;
          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 872, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IndexError, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 872, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __PYX_ERR(4, 872, __pyx_L7_except_error)
    }
    goto __pyx_L7_except_error;
    __pyx_L7_except_error:;

    /* "src/amqpvalue.pyx":869
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L1_error;
    __pyx_L9_try_return:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":862
 *         return self.size
 * 
 *     def __getitem__(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":874
 *             raise IndexError("No item found at index {}".format(index))
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert value.type
 *         if index >= self.size:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_9__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_9__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_index, PyObject *__pyx_v_value) {
  uint32_t __pyx_v_index;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 874, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 874, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_8__setitem__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), ((uint32_t)__pyx_v_index), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_8__setitem__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "src/amqpvalue.pyx":875
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_value), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 875, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 875, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":876
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "src/amqpvalue.pyx":877
 *         assert value.type
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(4, 877, __pyx_L1_error)

    /* "src/amqpvalue.pyx":876
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):
 *         assert value.type
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:
 */
  }

  /* "src/amqpvalue.pyx":878
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_2 = ((amqpvalue_set_composite_item(__pyx_v_self->__pyx_base._c_value, __pyx_v_index, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":879
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 879, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 879, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/amqpvalue.pyx":878
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/amqpvalue.pyx":874
 *             raise IndexError("No item found at index {}".format(index))
 * 
 *     def __setitem__(self, stdint.uint32_t index, AMQPValue value):             # <<<<<<<<<<<<<<
 *         assert value.type
 *         if index >= self.size:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":882
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_4size___get__(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":883
 *     @property
 *     def size(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_composite_item_count(self._c_value, &_value) == 0:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 883, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 883, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":885
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_composite_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  __pyx_t_2 = ((amqpvalue_get_composite_item_count(__pyx_v_self->__pyx_base._c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_2) {

    /* "src/amqpvalue.pyx":886
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_composite_item_count(self._c_value, &_value) == 0:
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/amqpvalue.pyx":885
 *         assert self.type
 *         cdef stdint.uint32_t _value
 *         if c_amqpvalue.amqpvalue_get_composite_item_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
  }

  /* "src/amqpvalue.pyx":888
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     def pop(self, stdint.uint32_t index):
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 888, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 888, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/amqpvalue.pyx":882
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         cdef stdint.uint32_t _value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":890
 *             self._value_error()
 * 
 *     def pop(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_11pop(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_11pop(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  uint32_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pop (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_uint32_t(__pyx_arg_index); if (unlikely((__pyx_v_index == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(4, 890, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.pop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_10pop(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), ((uint32_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_10pop(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, uint32_t __pyx_v_index) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("pop", 0);

  /* "src/amqpvalue.pyx":891
 * 
 *     def pop(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(4, 891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_4)) {

    /* "src/amqpvalue.pyx":892
 *     def pop(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(4, 892, __pyx_L1_error)

    /* "src/amqpvalue.pyx":891
 * 
 *     def pop(self, stdint.uint32_t index):
 *         if index >= self.size:             # <<<<<<<<<<<<<<
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  }

  /* "src/amqpvalue.pyx":894
 *             raise IndexError("Index is out of range.")
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_composite_item_in_place(__pyx_v_self->__pyx_base._c_value, __pyx_v_index);

  /* "src/amqpvalue.pyx":895
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  __pyx_t_4 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_4) {

    /* "src/amqpvalue.pyx":896
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_1)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_1) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 896, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 896, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":895
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         try:
 */
  }

  /* "src/amqpvalue.pyx":897
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_5);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_7);
    /*try:*/ {

      /* "src/amqpvalue.pyx":898
 *             self._value_error()
 *         try:
 *             return value_factory(value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             raise IndexError("No item found at index {}".format(index))
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 898, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L9_try_return;

      /* "src/amqpvalue.pyx":897
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    }
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/amqpvalue.pyx":899
 *         try:
 *             return value_factory(value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             raise IndexError("No item found at index {}".format(index))
 * 
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_8) {
      __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.pop", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(4, 899, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_1);

      /* "src/amqpvalue.pyx":900
 *             return value_factory(value)
 *         except TypeError:
 *             raise IndexError("No item found at index {}".format(index))             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_No_item_found_at_index, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 900, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = __Pyx_PyInt_From_uint32_t(__pyx_v_index); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 900, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10);
        if (likely(__pyx_t_12)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
          __Pyx_INCREF(__pyx_t_12);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_10, function);
        }
      }
      if (!__pyx_t_12) {
        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 900, __pyx_L7_except_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_GOTREF(__pyx_t_9);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_11};
          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 900, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_11};
          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 900, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(4, 900, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
          __Pyx_GIVEREF(__pyx_t_11);
          PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_11);
          __pyx_t_11 = 0;
          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 900, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IndexError, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 900, __pyx_L7_except_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __PYX_ERR(4, 900, __pyx_L7_except_error)
    }
    goto __pyx_L7_except_error;
    __pyx_L7_except_error:;

    /* "src/amqpvalue.pyx":897
 *         if <void*>value == NULL:
 *             self._value_error()
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L1_error;
    __pyx_L9_try_return:;
    __Pyx_XGIVEREF(__pyx_t_5);
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
    goto __pyx_L0;
  }

  /* "src/amqpvalue.pyx":890
 *             self._value_error()
 * 
 *     def pop(self, stdint.uint32_t index):             # <<<<<<<<<<<<<<
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.pop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_12__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14CompositeValue_14__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14CompositeValue_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CompositeValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":907
 *     _type = AMQPType.DescribedType
 * 
 *     def create(self, AMQPValue descriptor, AMQPValue value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE cloned_descriptor
 *         cdef c_amqpvalue.AMQP_VALUE cloned_value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_1create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_descriptor,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_descriptor)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); __PYX_ERR(4, 907, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) __PYX_ERR(4, 907, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_descriptor = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[0]);
    __pyx_v_value = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(4, 907, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_descriptor), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "descriptor", 0))) __PYX_ERR(4, 907, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(4, 907, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_create(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self), __pyx_v_descriptor, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_create(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_descriptor, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  AMQP_VALUE __pyx_v_cloned_descriptor;
  AMQP_VALUE __pyx_v_cloned_value;
  AMQP_VALUE __pyx_v_new_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/amqpvalue.pyx":910
 *         cdef c_amqpvalue.AMQP_VALUE cloned_descriptor
 *         cdef c_amqpvalue.AMQP_VALUE cloned_value
 *         cloned_descriptor = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>descriptor._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>cloned_descriptor == NULL:
 *             self._value_error()
 */
  __pyx_v_cloned_descriptor = amqpvalue_clone(__pyx_v_descriptor->_c_value);

  /* "src/amqpvalue.pyx":911
 *         cdef c_amqpvalue.AMQP_VALUE cloned_value
 *         cloned_descriptor = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>descriptor._c_value)
 *         if <void*>cloned_descriptor == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v_cloned_descriptor) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":912
 *         cloned_descriptor = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>descriptor._c_value)
 *         if <void*>cloned_descriptor == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         if <void*>cloned_value == NULL:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 912, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 912, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":911
 *         cdef c_amqpvalue.AMQP_VALUE cloned_value
 *         cloned_descriptor = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>descriptor._c_value)
 *         if <void*>cloned_descriptor == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 */
  }

  /* "src/amqpvalue.pyx":913
 *         if <void*>cloned_descriptor == NULL:
 *             self._value_error()
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>cloned_value == NULL:
 *             self._value_error()
 */
  __pyx_v_cloned_value = amqpvalue_clone(__pyx_v_value->_c_value);

  /* "src/amqpvalue.pyx":914
 *             self._value_error()
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         if <void*>cloned_value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_value = c_amqpvalue.amqpvalue_create_described(cloned_descriptor, cloned_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v_cloned_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":915
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         if <void*>cloned_value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         new_value = c_amqpvalue.amqpvalue_create_described(cloned_descriptor, cloned_value)
 *         self.wrap(new_value)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 915, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 915, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":914
 *             self._value_error()
 *         cloned_value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         if <void*>cloned_value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_value = c_amqpvalue.amqpvalue_create_described(cloned_descriptor, cloned_value)
 */
  }

  /* "src/amqpvalue.pyx":916
 *         if <void*>cloned_value == NULL:
 *             self._value_error()
 *         new_value = c_amqpvalue.amqpvalue_create_described(cloned_descriptor, cloned_value)             # <<<<<<<<<<<<<<
 *         self.wrap(new_value)
 * 
 */
  __pyx_v_new_value = amqpvalue_create_described(__pyx_v_cloned_descriptor, __pyx_v_cloned_value);

  /* "src/amqpvalue.pyx":917
 *             self._value_error()
 *         new_value = c_amqpvalue.amqpvalue_create_described(cloned_descriptor, cloned_value)
 *         self.wrap(new_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_self), __pyx_v_new_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":907
 *     _type = AMQPType.DescribedType
 * 
 *     def create(self, AMQPValue descriptor, AMQPValue value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE cloned_descriptor
 *         cdef c_amqpvalue.AMQP_VALUE cloned_value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":920
 * 
 *     @property
 *     def description(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_11description_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_11description_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_11description___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_11description___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self) {
  AMQP_VALUE __pyx_v_value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":923
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_descriptor(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_inplace_descriptor(__pyx_v_self->__pyx_base._c_value);

  /* "src/amqpvalue.pyx":924
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_descriptor(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 */
  __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":925
 *         value = c_amqpvalue.amqpvalue_get_inplace_descriptor(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 925, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 925, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":924
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_descriptor(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 */
  }

  /* "src/amqpvalue.pyx":926
 *         if <void*>value == NULL:
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)             # <<<<<<<<<<<<<<
 *         if <void*>cloned == NULL:
 *             self._value_error()
 */
  __pyx_v_cloned = amqpvalue_clone(__pyx_v_value);

  /* "src/amqpvalue.pyx":927
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":928
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(cloned)
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 928, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 928, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":927
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  }

  /* "src/amqpvalue.pyx":929
 *         if <void*>cloned == NULL:
 *             self._value_error()
 *         return value_factory(cloned)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":920
 * 
 *     @property
 *     def description(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.description.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":932
 * 
 *     @property
 *     def data(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_4data_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4data___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4data___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self) {
  AMQP_VALUE __pyx_v_value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":935
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_described_value(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_get_inplace_described_value(__pyx_v_self->__pyx_base._c_value);

  /* "src/amqpvalue.pyx":936
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_described_value(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 */
  __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":937
 *         value = c_amqpvalue.amqpvalue_get_inplace_described_value(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 937, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 937, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":936
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         value = c_amqpvalue.amqpvalue_get_inplace_described_value(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 */
  }

  /* "src/amqpvalue.pyx":938
 *         if <void*>value == NULL:
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)             # <<<<<<<<<<<<<<
 *         if <void*>cloned == NULL:
 *             self._value_error()
 */
  __pyx_v_cloned = amqpvalue_clone(__pyx_v_value);

  /* "src/amqpvalue.pyx":939
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/amqpvalue.pyx":940
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(cloned)
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 940, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 940, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/amqpvalue.pyx":939
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  }

  /* "src/amqpvalue.pyx":941
 *         if <void*>cloned == NULL:
 *             self._value_error()
 *         return value_factory(cloned)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":932
 * 
 *     @property
 *     def data(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.data.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/amqpvalue.pyx":944
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         #descriptor = self.description
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self) {
  PyObject *__pyx_v_described = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/amqpvalue.pyx":945
 *     @property
 *     def value(self):
 *         assert self.type             # <<<<<<<<<<<<<<
 *         #descriptor = self.description
 *         described = self.data
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(4, 945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(4, 945, __pyx_L1_error)
    }
  }
  #endif

  /* "src/amqpvalue.pyx":947
 *         assert self.type
 *         #descriptor = self.description
 *         described = self.data             # <<<<<<<<<<<<<<
 *         return copy.deepcopy(described.value)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_described = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":948
 *         #descriptor = self.description
 *         described = self.data
 *         return copy.deepcopy(described.value)             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_described, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (!__pyx_t_5) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 948, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 948, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 948, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/amqpvalue.pyx":944
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         assert self.type
 *         #descriptor = self.description
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_described);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14DescribedValue_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__77, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.DescribedValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":22
 * 
 * 
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     try:
 *         wrapped = value_factory(value)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_annotations_factory(AMQP_VALUE __pyx_v_value) {
  PyObject *__pyx_v_wrapped = NULL;
  PyObject *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("annotations_factory", 0);

  /* "src/annotations.pyx":23
 * 
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):
 *     try:             # <<<<<<<<<<<<<<
 *         wrapped = value_factory(value)
 *     except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/annotations.pyx":24
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):
 *     try:
 *         wrapped = value_factory(value)             # <<<<<<<<<<<<<<
 *     except TypeError:
 *         return None
 */
      __pyx_t_4 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 24, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_v_wrapped = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "src/annotations.pyx":23
 * 
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):
 *     try:             # <<<<<<<<<<<<<<
 *         wrapped = value_factory(value)
 *     except TypeError:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/annotations.pyx":25
 *     try:
 *         wrapped = value_factory(value)
 *     except TypeError:             # <<<<<<<<<<<<<<
 *         return None
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_5) {
      __Pyx_AddTraceback("uamqp.c_uamqp.annotations_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(9, 25, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);

      /* "src/annotations.pyx":26
 *         wrapped = value_factory(value)
 *     except TypeError:
 *         return None             # <<<<<<<<<<<<<<
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):
 *         new_obj = create_delivery_annotations(wrapped)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "src/annotations.pyx":23
 * 
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):
 *     try:             # <<<<<<<<<<<<<<
 *         wrapped = value_factory(value)
 *     except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L8_try_end:;
  }

  /* "src/annotations.pyx":27
 *     except TypeError:
 *         return None
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_delivery_annotations(wrapped)
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 */
  __pyx_t_8 = (is_delivery_annotations_type_by_descriptor(((delivery_annotations)__pyx_v_value)) != 0);
  if (__pyx_t_8) {

    /* "src/annotations.pyx":28
 *         return None
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):
 *         new_obj = create_delivery_annotations(wrapped)             # <<<<<<<<<<<<<<
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 *         new_obj = create_message_annotations(wrapped)
 */
    if (!(likely(((__pyx_v_wrapped) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wrapped, __pyx_ptype_5uamqp_7c_uamqp_AMQPValue))))) __PYX_ERR(9, 28, __pyx_L1_error)
    __pyx_t_7 = __pyx_f_5uamqp_7c_uamqp_create_delivery_annotations(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_wrapped), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_v_new_obj = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "src/annotations.pyx":27
 *     except TypeError:
 *         return None
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_delivery_annotations(wrapped)
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 */
    goto __pyx_L11;
  }

  /* "src/annotations.pyx":29
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):
 *         new_obj = create_delivery_annotations(wrapped)
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_message_annotations(wrapped)
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):
 */
  __pyx_t_8 = (is_message_annotations_type_by_descriptor(((message_annotations)__pyx_v_value)) != 0);
  if (__pyx_t_8) {

    /* "src/annotations.pyx":30
 *         new_obj = create_delivery_annotations(wrapped)
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 *         new_obj = create_message_annotations(wrapped)             # <<<<<<<<<<<<<<
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):
 *         new_obj = create_footer(wrapped)
 */
    if (!(likely(((__pyx_v_wrapped) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wrapped, __pyx_ptype_5uamqp_7c_uamqp_AMQPValue))))) __PYX_ERR(9, 30, __pyx_L1_error)
    __pyx_t_7 = __pyx_f_5uamqp_7c_uamqp_create_message_annotations(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_wrapped), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_v_new_obj = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "src/annotations.pyx":29
 *     if c_amqp_definitions.is_delivery_annotations_type_by_descriptor(<c_amqp_definitions.delivery_annotations>value):
 *         new_obj = create_delivery_annotations(wrapped)
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_message_annotations(wrapped)
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):
 */
    goto __pyx_L11;
  }

  /* "src/annotations.pyx":31
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 *         new_obj = create_message_annotations(wrapped)
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_footer(wrapped)
 *     else:
 */
  __pyx_t_8 = (is_footer_type_by_descriptor(((footer)__pyx_v_value)) != 0);
  if (__pyx_t_8) {

    /* "src/annotations.pyx":32
 *         new_obj = create_message_annotations(wrapped)
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):
 *         new_obj = create_footer(wrapped)             # <<<<<<<<<<<<<<
 *     else:
 *         new_obj = create_annotations(wrapped)
 */
    if (!(likely(((__pyx_v_wrapped) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wrapped, __pyx_ptype_5uamqp_7c_uamqp_AMQPValue))))) __PYX_ERR(9, 32, __pyx_L1_error)
    __pyx_t_7 = __pyx_f_5uamqp_7c_uamqp_create_footer(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_wrapped), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 32, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_v_new_obj = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "src/annotations.pyx":31
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(<c_amqp_definitions.message_annotations>value):
 *         new_obj = create_message_annotations(wrapped)
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(<c_amqp_definitions.footer>value):             # <<<<<<<<<<<<<<
 *         new_obj = create_footer(wrapped)
 *     else:
 */
    goto __pyx_L11;
  }

  /* "src/annotations.pyx":34
 *         new_obj = create_footer(wrapped)
 *     else:
 *         new_obj = create_annotations(wrapped)             # <<<<<<<<<<<<<<
 *     return new_obj
 * 
 */
  /*else*/ {
    if (!(likely(((__pyx_v_wrapped) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wrapped, __pyx_ptype_5uamqp_7c_uamqp_AMQPValue))))) __PYX_ERR(9, 34, __pyx_L1_error)
    __pyx_t_7 = __pyx_f_5uamqp_7c_uamqp_create_annotations(((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_wrapped), 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 34, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_v_new_obj = __pyx_t_7;
    __pyx_t_7 = 0;
  }
  __pyx_L11:;

  /* "src/annotations.pyx":35
 *     else:
 *         new_obj = create_annotations(wrapped)
 *     return new_obj             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_new_obj);
  __pyx_r = __pyx_v_new_obj;
  goto __pyx_L0;

  /* "src/annotations.pyx":22
 * 
 * 
 * cdef annotations_factory(c_amqpvalue.AMQP_VALUE value):             # <<<<<<<<<<<<<<
 *     try:
 *         wrapped = value_factory(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.annotations_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_wrapped);
  __Pyx_XDECREF(__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":38
 * 
 * 
 * cpdef create_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cAnnotations()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_57create_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_annotations", 0);

  /* "src/annotations.pyx":39
 * 
 * cpdef create_annotations(AMQPValue value):
 *     annotations = cAnnotations()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cAnnotations)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":40
 * cpdef create_annotations(AMQPValue value):
 *     annotations = cAnnotations()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations->__pyx_vtab)->create(__pyx_v_annotations, __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":41
 *     annotations = cAnnotations()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":38
 * 
 * 
 * cpdef create_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cAnnotations()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_57create_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_57create_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_annotations (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 38, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_56create_annotations(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_56create_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_annotations", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_annotations(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":44
 * 
 * 
 * cpdef create_application_properties(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cApplicationProperties()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_59create_application_properties(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_application_properties(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_application_properties", 0);

  /* "src/annotations.pyx":45
 * 
 * cpdef create_application_properties(AMQPValue value):
 *     annotations = cApplicationProperties()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cApplicationProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":46
 * cpdef create_application_properties(AMQPValue value):
 *     annotations = cApplicationProperties()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_annotations->__pyx_base.__pyx_vtab)->__pyx_base.create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations), __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":47
 *     annotations = cApplicationProperties()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":44
 * 
 * 
 * cpdef create_application_properties(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cApplicationProperties()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_application_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_59create_application_properties(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_59create_application_properties(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_application_properties (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 44, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_58create_application_properties(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_58create_application_properties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_application_properties", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_application_properties(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_application_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":50
 * 
 * 
 * cpdef create_delivery_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cDeliveryAnnotations()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_61create_delivery_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_delivery_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_delivery_annotations", 0);

  /* "src/annotations.pyx":51
 * 
 * cpdef create_delivery_annotations(AMQPValue value):
 *     annotations = cDeliveryAnnotations()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cDeliveryAnnotations)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":52
 * cpdef create_delivery_annotations(AMQPValue value):
 *     annotations = cDeliveryAnnotations()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_annotations->__pyx_base.__pyx_vtab)->__pyx_base.create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations), __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":53
 *     annotations = cDeliveryAnnotations()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":50
 * 
 * 
 * cpdef create_delivery_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cDeliveryAnnotations()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_delivery_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_61create_delivery_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_61create_delivery_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_delivery_annotations (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 50, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_60create_delivery_annotations(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_60create_delivery_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_delivery_annotations", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_delivery_annotations(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_delivery_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":56
 * 
 * 
 * cpdef create_message_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cMessageAnnotations()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_63create_message_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_annotations(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_annotations", 0);

  /* "src/annotations.pyx":57
 * 
 * cpdef create_message_annotations(AMQPValue value):
 *     annotations = cMessageAnnotations()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageAnnotations)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":58
 * cpdef create_message_annotations(AMQPValue value):
 *     annotations = cMessageAnnotations()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_annotations->__pyx_base.__pyx_vtab)->__pyx_base.create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations), __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":59
 *     annotations = cMessageAnnotations()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":56
 * 
 * 
 * cpdef create_message_annotations(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cMessageAnnotations()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_63create_message_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_63create_message_annotations(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_message_annotations (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 56, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_62create_message_annotations(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_62create_message_annotations(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_annotations", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_message_annotations(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_annotations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":62
 * 
 * 
 * cpdef create_fields(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cFields()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_65create_fields(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_fields(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_fields", 0);

  /* "src/annotations.pyx":63
 * 
 * cpdef create_fields(AMQPValue value):
 *     annotations = cFields()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cFields)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":64
 * cpdef create_fields(AMQPValue value):
 *     annotations = cFields()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields *)__pyx_v_annotations->__pyx_base.__pyx_vtab)->__pyx_base.create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations), __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":65
 *     annotations = cFields()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":62
 * 
 * 
 * cpdef create_fields(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cFields()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_65create_fields(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_65create_fields(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_fields (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 62, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_64create_fields(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_64create_fields(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_fields", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_fields(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":68
 * 
 * 
 * cpdef create_footer(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cFooter()
 *     annotations.create(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_67create_footer(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_footer(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_annotations = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_footer", 0);

  /* "src/annotations.pyx":69
 * 
 * cpdef create_footer(AMQPValue value):
 *     annotations = cFooter()             # <<<<<<<<<<<<<<
 *     annotations.create(value)
 *     return annotations
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cFooter)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":70
 * cpdef create_footer(AMQPValue value):
 *     annotations = cFooter()
 *     annotations.create(value)             # <<<<<<<<<<<<<<
 *     return annotations
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter *)__pyx_v_annotations->__pyx_base.__pyx_vtab)->__pyx_base.create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_annotations), __pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":71
 *     annotations = cFooter()
 *     annotations.create(value)
 *     return annotations             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
  __pyx_r = ((PyObject *)__pyx_v_annotations);
  goto __pyx_L0;

  /* "src/annotations.pyx":68
 * 
 * 
 * cpdef create_footer(AMQPValue value):             # <<<<<<<<<<<<<<
 *     annotations = cFooter()
 *     annotations.create(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_footer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_annotations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_67create_footer(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_67create_footer(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_footer (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 68, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_66create_footer(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_66create_footer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_footer", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_footer(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_footer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":78
 *     cdef c_amqpvalue.AMQP_VALUE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_12cAnnotations___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":81
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/annotations.pyx":82
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating %r", self.__class__.__name__)             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Deallocating_r, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 82, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Deallocating_r, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 82, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_Deallocating_r);
    __Pyx_GIVEREF(__pyx_kp_s_Deallocating_r);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_Deallocating_r);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":83
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":81
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating %r", self.__class__.__name__)
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cAnnotations.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/annotations.pyx":85
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations__validate(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/annotations.pyx":86
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/annotations.pyx":87
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 87, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 87, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/annotations.pyx":86
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/annotations.pyx":85
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":89
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  char const *__pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 89, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 89, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":90
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/annotations.pyx":91
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(<c_amqpvalue.AMQP_VALUE>self._c_value)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/annotations.pyx":92
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying %r", self.__class__.__name__)             # <<<<<<<<<<<<<<
 *                 c_amqpvalue.amqpvalue_destroy(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         except KeyboardInterrupt:
 */
          __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 92, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 92, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 92, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 92, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_9 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_9 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Destroying_r, __pyx_t_4};
            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 92, __pyx_L6_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Destroying_r, __pyx_t_4};
            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 92, __pyx_L6_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 92, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_10);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_s_Destroying_r);
            __Pyx_GIVEREF(__pyx_kp_s_Destroying_r);
            PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_kp_s_Destroying_r);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 92, __pyx_L6_error)
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/annotations.pyx":93
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(<c_amqpvalue.AMQP_VALUE>self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          amqpvalue_destroy(__pyx_v_self->_c_value);

          /* "src/annotations.pyx":91
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(<c_amqpvalue.AMQP_VALUE>self._c_value)
 */
        }

        /* "src/annotations.pyx":90
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/annotations.pyx":94
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 *                 c_amqpvalue.amqpvalue_destroy(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/annotations.pyx":90
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying %r", self.__class__.__name__)
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/annotations.pyx":97
 *             pass
 *         finally:
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __Pyx_XGOTREF(__pyx_t_15);
      __pyx_t_9 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_XGIVEREF(__pyx_t_15);
        __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/annotations.pyx":89
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12cAnnotations_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":99
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.annotations value
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_clone(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch) {
  annotations __pyx_v_value;
  PyObject *__pyx_v_amqp_value = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_7clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":101
 *     cpdef clone(self):
 *         cdef c_amqp_definitions.annotations value
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = amqpvalue_clone(__pyx_v_self->_c_value);

  /* "src/annotations.pyx":102
 *         cdef c_amqp_definitions.annotations value
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         amqp_value = value_factory(value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/annotations.pyx":103
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         amqp_value = value_factory(value)
 *         return cAnnotations(amqp_value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 103, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 103, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/annotations.pyx":102
 *         cdef c_amqp_definitions.annotations value
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         amqp_value = value_factory(value)
 */
  }

  /* "src/annotations.pyx":104
 *         if <void*>value == NULL:
 *             self._value_error()
 *         amqp_value = value_factory(value)             # <<<<<<<<<<<<<<
 *         return cAnnotations(amqp_value)
 * 
 */
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_amqp_value = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/annotations.pyx":105
 *             self._value_error()
 *         amqp_value = value_factory(value)
 *         return cAnnotations(amqp_value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_encoded_size(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cAnnotations), __pyx_v_amqp_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/annotations.pyx":99
 *             self._c_value = <c_amqpvalue.AMQP_VALUE>NULL
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.annotations value
 *         value = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_amqp_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_6clone(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12cAnnotations_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":107
 *         return cAnnotations(amqp_value)
 * 
 *     cpdef get_encoded_size(self):             # <<<<<<<<<<<<<<
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_9get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, int __pyx_skip_dispatch) {
  size_t __pyx_v_length;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("get_encoded_size", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_encoded_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_9get_encoded_size)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 107, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 107, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":109
 *     cpdef get_encoded_size(self):
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get encoded size.")
 *         return length
 */
  __pyx_t_5 = ((amqpvalue_get_encoded_size(__pyx_v_self->_c_value, (&__pyx_v_length)) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/annotations.pyx":110
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")             # <<<<<<<<<<<<<<
 *         return length
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/annotations.pyx":109
 *     cpdef get_encoded_size(self):
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get encoded size.")
 *         return length
 */
  }

  /* "src/annotations.pyx":111
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")
 *         return length             # <<<<<<<<<<<<<<
 * 
 *     cpdef create(self, AMQPValue value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/annotations.pyx":107
 *         return cAnnotations(amqp_value)
 * 
 *     cpdef get_encoded_size(self):             # <<<<<<<<<<<<<<
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.get_encoded_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_9get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_9get_encoded_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_encoded_size (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_8get_encoded_size(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_8get_encoded_size(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_encoded_size", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12cAnnotations_get_encoded_size(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.get_encoded_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":113
 *         return length
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_annotations(<c_amqpvalue.AMQP_VALUE>value._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_11create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_11create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 113, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 113, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 113, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 113, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 113, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":114
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_annotations(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":115
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_annotations(<c_amqpvalue.AMQP_VALUE>value._c_value)             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = amqpvalue_create_annotations(__pyx_v_value->_c_value);

  /* "src/annotations.pyx":116
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_annotations(<c_amqpvalue.AMQP_VALUE>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.annotations value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":113
 *         return length
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_annotations(<c_amqpvalue.AMQP_VALUE>value._c_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_11create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_11create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 113, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_10create(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_10create(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12cAnnotations_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":118
 *         self._validate()
 * 
 *     cdef wrap(self, c_amqp_definitions.annotations value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_12cAnnotations_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, annotations __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/annotations.pyx":119
 * 
 *     cdef wrap(self, c_amqp_definitions.annotations value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":120
 *     cdef wrap(self, c_amqp_definitions.annotations value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/annotations.pyx":121
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":118
 *         self._validate()
 * 
 *     cdef wrap(self, c_amqp_definitions.annotations value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":124
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(self._c_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/annotations.pyx":125
 *     @property
 *     def value(self):
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(self._c_value)
 *         except TypeError:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/annotations.pyx":126
 *     def value(self):
 *         try:
 *             return value_factory(self._c_value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             return None
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_self->_c_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 126, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L7_try_return;

      /* "src/annotations.pyx":125
 *     @property
 *     def value(self):
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(self._c_value)
 *         except TypeError:
 */
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/annotations.pyx":127
 *         try:
 *             return value_factory(self._c_value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             return None
 * 
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_5) {
      __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(9, 127, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);

      /* "src/annotations.pyx":128
 *             return value_factory(self._c_value)
 *         except TypeError:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "src/annotations.pyx":125
 *     @property
 *     def value(self):
 *         try:             # <<<<<<<<<<<<<<
 *             return value_factory(self._c_value)
 *         except TypeError:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
  }

  /* "src/annotations.pyx":124
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         try:
 *             return value_factory(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":131
 * 
 *     @property
 *     def map(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE unmapped
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3map_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3map_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_3map___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_3map___get__(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  AMQP_VALUE __pyx_v_unmapped;
  AMQP_VALUE __pyx_v_mapped;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/annotations.pyx":134
 *         cdef c_amqpvalue.AMQP_VALUE unmapped
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 *         unmapped = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:
 */
  __pyx_v_unmapped = amqpvalue_clone(__pyx_v_self->_c_value);

  /* "src/annotations.pyx":135
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 *         unmapped = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>mapped == NULL:
 *                 return None
 */
  __pyx_t_1 = ((amqpvalue_get_map(__pyx_v_unmapped, (&__pyx_v_mapped)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/annotations.pyx":136
 *         unmapped = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return copy.deepcopy(value_factory(mapped).value)
 */
    __pyx_t_1 = ((((void *)__pyx_v_mapped) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/annotations.pyx":137
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(value_factory(mapped).value)
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/annotations.pyx":136
 *         unmapped = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return copy.deepcopy(value_factory(mapped).value)
 */
    }

    /* "src/annotations.pyx":138
 *             if <void*>mapped == NULL:
 *                 return None
 *             return copy.deepcopy(value_factory(mapped).value)             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_mapped); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 138, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 138, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 138, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 138, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 138, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/annotations.pyx":135
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 *         unmapped = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         if c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>mapped == NULL:
 *                 return None
 */
  }

  /* "src/annotations.pyx":140
 *             return copy.deepcopy(value_factory(mapped).value)
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/annotations.pyx":131
 * 
 *     @property
 *     def map(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE unmapped
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.map.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_12__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12cAnnotations_14__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12cAnnotations_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__80, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cAnnotations.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":145
 * cdef class cApplicationProperties(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_application_properties(
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_22cApplicationProperties_create(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_1create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 145, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 145, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 145, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 145, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 145, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":146
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_application_properties(
 *             <c_amqp_definitions.application_properties>value._c_value)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":147
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_application_properties(             # <<<<<<<<<<<<<<
 *             <c_amqp_definitions.application_properties>value._c_value)
 *         self._validate()
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_application_properties(((application_properties)__pyx_v_value->_c_value));

  /* "src/annotations.pyx":149
 *         self._c_value = c_amqp_definitions.amqpvalue_create_application_properties(
 *             <c_amqp_definitions.application_properties>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":145
 * cdef class cApplicationProperties(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_application_properties(
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cApplicationProperties.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 145, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_create(((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_create(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_22cApplicationProperties_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cApplicationProperties.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":152
 * 
 *     @property
 *     def map(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE unmapped
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3map_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3map_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_3map___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_3map___get__(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v_unmapped;
  AMQP_VALUE __pyx_v_mapped;
  AMQP_VALUE __pyx_v_unextracted;
  AMQP_VALUE __pyx_v_extracted;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/annotations.pyx":157
 *         cdef c_amqpvalue.AMQP_VALUE unextracted
 *         cdef c_amqpvalue.AMQP_VALUE extracted
 *         unextracted = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)             # <<<<<<<<<<<<<<
 *         extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)
 */
  __pyx_v_unextracted = amqpvalue_clone(__pyx_v_self->__pyx_base._c_value);

  /* "src/annotations.pyx":158
 *         cdef c_amqpvalue.AMQP_VALUE extracted
 *         unextracted = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)             # <<<<<<<<<<<<<<
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)
 *         if <void*>unmapped == NULL:
 */
  __pyx_v_extracted = amqpvalue_get_inplace_described_value(__pyx_v_unextracted);

  /* "src/annotations.pyx":159
 *         unextracted = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
 *         extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)             # <<<<<<<<<<<<<<
 *         if <void*>unmapped == NULL:
 *             result = None
 */
  __pyx_v_unmapped = amqpvalue_clone(__pyx_v_extracted);

  /* "src/annotations.pyx":160
 *         extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)
 *         if <void*>unmapped == NULL:             # <<<<<<<<<<<<<<
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 */
  __pyx_t_1 = ((((void *)__pyx_v_unmapped) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/annotations.pyx":161
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)
 *         if <void*>unmapped == NULL:
 *             result = None             # <<<<<<<<<<<<<<
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:
 */
    __Pyx_INCREF(Py_None);
    __pyx_v_result = Py_None;

    /* "src/annotations.pyx":160
 *         extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
 *         unmapped = c_amqpvalue.amqpvalue_clone(extracted)
 *         if <void*>unmapped == NULL:             # <<<<<<<<<<<<<<
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 */
    goto __pyx_L3;
  }

  /* "src/annotations.pyx":162
 *         if <void*>unmapped == NULL:
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>mapped == NULL:
 *                 result = None
 */
  __pyx_t_1 = ((amqpvalue_get_map(__pyx_v_unmapped, (&__pyx_v_mapped)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/annotations.pyx":163
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:             # <<<<<<<<<<<<<<
 *                 result = None
 *             else:
 */
    __pyx_t_1 = ((((void *)__pyx_v_mapped) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/annotations.pyx":164
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:
 *                 result = None             # <<<<<<<<<<<<<<
 *             else:
 *                 result = copy.deepcopy(value_factory(mapped).value)
 */
      __Pyx_INCREF(Py_None);
      __pyx_v_result = Py_None;

      /* "src/annotations.pyx":163
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
 *             if <void*>mapped == NULL:             # <<<<<<<<<<<<<<
 *                 result = None
 *             else:
 */
      goto __pyx_L4;
    }

    /* "src/annotations.pyx":166
 *                 result = None
 *             else:
 *                 result = copy.deepcopy(value_factory(mapped).value)             # <<<<<<<<<<<<<<
 *         else:
 *             result = None
 */
    /*else*/ {
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_mapped); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_3) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 166, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 166, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 166, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 166, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
          __Pyx_GIVEREF(__pyx_t_5);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5);
          __pyx_t_5 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 166, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_result = __pyx_t_2;
      __pyx_t_2 = 0;
    }
    __pyx_L4:;

    /* "src/annotations.pyx":162
 *         if <void*>unmapped == NULL:
 *             result = None
 *         elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>mapped == NULL:
 *                 result = None
 */
    goto __pyx_L3;
  }

  /* "src/annotations.pyx":168
 *                 result = copy.deepcopy(value_factory(mapped).value)
 *         else:
 *             result = None             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(unextracted)
 *         return result
 */
  /*else*/ {
    __Pyx_INCREF(Py_None);
    __pyx_v_result = Py_None;
  }
  __pyx_L3:;

  /* "src/annotations.pyx":169
 *         else:
 *             result = None
 *         c_amqpvalue.amqpvalue_destroy(unextracted)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
  amqpvalue_destroy(__pyx_v_unextracted);

  /* "src/annotations.pyx":170
 *             result = None
 *         c_amqpvalue.amqpvalue_destroy(unextracted)
 *         return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/annotations.pyx":152
 * 
 *     @property
 *     def map(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE unmapped
 *         cdef c_amqpvalue.AMQP_VALUE mapped
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cApplicationProperties.map.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cApplicationProperties.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22cApplicationProperties_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__82, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cApplicationProperties.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":175
 * cdef class cDeliveryAnnotations(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_delivery_annotations(
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_1create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 175, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 175, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 175, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 175, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 175, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":176
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_delivery_annotations(
 *             <c_amqp_definitions.delivery_annotations>value._c_value)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":177
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_delivery_annotations(             # <<<<<<<<<<<<<<
 *             <c_amqp_definitions.delivery_annotations>value._c_value)
 *         self._validate()
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_delivery_annotations(((delivery_annotations)__pyx_v_value->_c_value));

  /* "src/annotations.pyx":179
 *         self._c_value = c_amqp_definitions.amqpvalue_create_delivery_annotations(
 *             <c_amqp_definitions.delivery_annotations>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":175
 * cdef class cDeliveryAnnotations(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_delivery_annotations(
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cDeliveryAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 175, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_20cDeliveryAnnotations_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cDeliveryAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__83, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cDeliveryAnnotations.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_20cDeliveryAnnotations_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__84, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cDeliveryAnnotations.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":184
 * cdef class cMessageAnnotations(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_message_annotations(
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_19cMessageAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_1create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 184, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 184, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 184, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 184, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 184, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":185
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_message_annotations(
 *             <c_amqp_definitions.message_annotations>value._c_value)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":186
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_message_annotations(             # <<<<<<<<<<<<<<
 *             <c_amqp_definitions.message_annotations>value._c_value)
 *         self._validate()
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_message_annotations(((message_annotations)__pyx_v_value->_c_value));

  /* "src/annotations.pyx":188
 *         self._c_value = c_amqp_definitions.amqpvalue_create_message_annotations(
 *             <c_amqp_definitions.message_annotations>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":184
 * cdef class cMessageAnnotations(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_message_annotations(
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 184, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_create(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_19cMessageAnnotations_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageAnnotations.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageAnnotations.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_19cMessageAnnotations_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageAnnotations.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":193
 * cdef class cFields(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_fields(<c_amqp_definitions.fields>value._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cFields_create(struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFields_1create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 193, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 193, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 193, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 193, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 193, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":194
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_fields(<c_amqp_definitions.fields>value._c_value)
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":195
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_fields(<c_amqp_definitions.fields>value._c_value)             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_fields(((fields)__pyx_v_value->_c_value));

  /* "src/annotations.pyx":196
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_fields(<c_amqp_definitions.fields>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":193
 * cdef class cFields(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_fields(<c_amqp_definitions.fields>value._c_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFields.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 193, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFields_create(((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_create(struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cFields_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFields.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFields_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFields.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFields_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFields_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFields_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFields.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/annotations.pyx":201
 * cdef class cFooter(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_footer(<c_amqp_definitions.footer>value._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cFooter_create(struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFooter_1create)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 201, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 201, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 201, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 201, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 201, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/annotations.pyx":202
 * 
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.amqpvalue_create_footer(<c_amqp_definitions.footer>value._c_value)
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":203
 *     cpdef create(self, AMQPValue value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_footer(<c_amqp_definitions.footer>value._c_value)             # <<<<<<<<<<<<<<
 *         self._validate()
 */
  __pyx_v_self->__pyx_base._c_value = amqpvalue_create_footer(((footer)__pyx_v_value->_c_value));

  /* "src/annotations.pyx":204
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_footer(<c_amqp_definitions.footer>value._c_value)
 *         self._validate()             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._validate(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/annotations.pyx":201
 * cdef class cFooter(cAnnotations):
 * 
 *     cpdef create(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.amqpvalue_create_footer(<c_amqp_definitions.footer>value._c_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFooter.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_1create(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(9, 201, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFooter_create(((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_create(struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cFooter_create(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFooter.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFooter_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFooter.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cFooter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cFooter_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cFooter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cFooter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/async_operation.pyx":21
 *     cdef c_async_operation.ASYNC_OPERATION_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/async_operation.pyx":24
 *         pass
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation__create(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/async_operation.pyx":25
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/async_operation.pyx":26
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 26, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 26, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 26, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/async_operation.pyx":25
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/async_operation.pyx":24
 *         pass
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/async_operation.pyx":28
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying AsyncOperation")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_3destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_destroy(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_3destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 28, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 28, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/async_operation.pyx":29
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying AsyncOperation")
 *             c_async_operation.async_operation_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/async_operation.pyx":30
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying AsyncOperation")             # <<<<<<<<<<<<<<
 *             c_async_operation.async_operation_destroy(self._c_value)
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/async_operation.pyx":31
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying AsyncOperation")
 *             c_async_operation.async_operation_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL
 * 
 */
    async_operation_destroy(__pyx_v_self->_c_value);

    /* "src/async_operation.pyx":32
 *             _logger.debug("Destroying AsyncOperation")
 *             c_async_operation.async_operation_destroy(self._c_value)
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_async_operation.ASYNC_OPERATION_HANDLE value):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/async_operation.pyx":29
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying AsyncOperation")
 *             c_async_operation.async_operation_destroy(self._c_value)
 */
  }

  /* "src/async_operation.pyx":28
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying AsyncOperation")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_3destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_3destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_2destroy(((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_2destroy(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14AsyncOperation_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/async_operation.pyx":34
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL
 * 
 *     cdef wrap(self, c_async_operation.ASYNC_OPERATION_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_wrap(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, ASYNC_OPERATION_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/async_operation.pyx":35
 * 
 *     cdef wrap(self, c_async_operation.ASYNC_OPERATION_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/async_operation.pyx":36
 *     cdef wrap(self, c_async_operation.ASYNC_OPERATION_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/async_operation.pyx":37
 *         self.destroy()
 *         self._c_value = value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef cancel(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/async_operation.pyx":34
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL
 * 
 *     cdef wrap(self, c_async_operation.ASYNC_OPERATION_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/async_operation.pyx":39
 *         self._create()
 * 
 *     cpdef cancel(self):             # <<<<<<<<<<<<<<
 *         if c_async_operation.async_operation_cancel(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_5cancel(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_cancel(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("cancel", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cancel); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 39, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_5cancel)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 39, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 39, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/async_operation.pyx":40
 * 
 *     cpdef cancel(self):
 *         if c_async_operation.async_operation_cancel(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 */
  __pyx_t_5 = ((async_operation_cancel(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/async_operation.pyx":41
 *     cpdef cancel(self):
 *         if c_async_operation.async_operation_cancel(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 41, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 41, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/async_operation.pyx":40
 * 
 *     cpdef cancel(self):
 *         if c_async_operation.async_operation_cancel(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 */
  }

  /* "src/async_operation.pyx":39
 *         self._create()
 * 
 *     cpdef cancel(self):             # <<<<<<<<<<<<<<
 *         if c_async_operation.async_operation_cancel(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.cancel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_5cancel(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_5cancel(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cancel (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_4cancel(((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_4cancel(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("cancel", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14AsyncOperation_cancel(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.cancel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__92, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14AsyncOperation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.AsyncOperation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":21
 *     """Base class for wrapped C structs."""
 * 
 *     def _memory_error(self):             # <<<<<<<<<<<<<<
 *         message = "Failed to allocate memory to create {}"
 *         raise MemoryError(message.format(self.__class__.__name__))
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_1_memory_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_1_memory_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_memory_error (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10StructBase__memory_error(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase__memory_error(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self) {
  PyObject *__pyx_v_message = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("_memory_error", 0);

  /* "src/base.pyx":22
 * 
 *     def _memory_error(self):
 *         message = "Failed to allocate memory to create {}"             # <<<<<<<<<<<<<<
 *         raise MemoryError(message.format(self.__class__.__name__))
 * 
 */
  __Pyx_INCREF(__pyx_kp_s_Failed_to_allocate_memory_to_cre);
  __pyx_v_message = __pyx_kp_s_Failed_to_allocate_memory_to_cre;

  /* "src/base.pyx":23
 *     def _memory_error(self):
 *         message = "Failed to allocate memory to create {}"
 *         raise MemoryError(message.format(self.__class__.__name__))             # <<<<<<<<<<<<<<
 * 
 *     def _value_error(self, error_message=None, error_code=None):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_message, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 23, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 23, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 23, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(5, 23, __pyx_L1_error)

  /* "src/base.pyx":21
 *     """Base class for wrapped C structs."""
 * 
 *     def _memory_error(self):             # <<<<<<<<<<<<<<
 *         message = "Failed to allocate memory to create {}"
 *         raise MemoryError(message.format(self.__class__.__name__))
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase._memory_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XDECREF(__pyx_v_message);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":25
 *         raise MemoryError(message.format(self.__class__.__name__))
 * 
 *     def _value_error(self, error_message=None, error_code=None):             # <<<<<<<<<<<<<<
 *         message = "Operation failed."
 *         if error_message:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_3_value_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_3_value_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_error_message = 0;
  PyObject *__pyx_v_error_code = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_value_error (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error_message,&__pyx_n_s_error_code,0};
    PyObject* values[2] = {0,0};
    values[0] = ((PyObject *)Py_None);
    values[1] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_message);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_code);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_value_error") < 0)) __PYX_ERR(5, 25, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_error_message = values[0];
    __pyx_v_error_code = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_value_error", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 25, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase._value_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10StructBase_2_value_error(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v_self), __pyx_v_error_message, __pyx_v_error_code);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_2_value_error(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v_error_message, PyObject *__pyx_v_error_code) {
  PyObject *__pyx_v_message = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("_value_error", 0);

  /* "src/base.pyx":26
 * 
 *     def _value_error(self, error_message=None, error_code=None):
 *         message = "Operation failed."             # <<<<<<<<<<<<<<
 *         if error_message:
 *             message += "\nError: {}".format(error_message)
 */
  __Pyx_INCREF(__pyx_kp_s_Operation_failed);
  __pyx_v_message = __pyx_kp_s_Operation_failed;

  /* "src/base.pyx":27
 *     def _value_error(self, error_message=None, error_code=None):
 *         message = "Operation failed."
 *         if error_message:             # <<<<<<<<<<<<<<
 *             message += "\nError: {}".format(error_message)
 *         if error_code:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_error_message); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(5, 27, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/base.pyx":28
 *         message = "Operation failed."
 *         if error_message:
 *             message += "\nError: {}".format(error_message)             # <<<<<<<<<<<<<<
 *         if error_code:
 *             message += "\nErrorCode: {}".format(error_code)
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Error, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_error_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 28, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_error_message};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 28, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_error_message};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 28, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 28, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
        __Pyx_INCREF(__pyx_v_error_message);
        __Pyx_GIVEREF(__pyx_v_error_message);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_error_message);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 28, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/base.pyx":27
 *     def _value_error(self, error_message=None, error_code=None):
 *         message = "Operation failed."
 *         if error_message:             # <<<<<<<<<<<<<<
 *             message += "\nError: {}".format(error_message)
 *         if error_code:
 */
  }

  /* "src/base.pyx":29
 *         if error_message:
 *             message += "\nError: {}".format(error_message)
 *         if error_code:             # <<<<<<<<<<<<<<
 *             message += "\nErrorCode: {}".format(error_code)
 *         raise ValueError(message)
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_error_code); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(5, 29, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/base.pyx":30
 *             message += "\nError: {}".format(error_message)
 *         if error_code:
 *             message += "\nErrorCode: {}".format(error_code)             # <<<<<<<<<<<<<<
 *         raise ValueError(message)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ErrorCode, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_error_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 30, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_error_code};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 30, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_error_code};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 30, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 30, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_error_code);
        __Pyx_GIVEREF(__pyx_v_error_code);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_error_code);
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 30, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 30, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/base.pyx":29
 *         if error_message:
 *             message += "\nError: {}".format(error_message)
 *         if error_code:             # <<<<<<<<<<<<<<
 *             message += "\nErrorCode: {}".format(error_code)
 *         raise ValueError(message)
 */
  }

  /* "src/base.pyx":31
 *         if error_code:
 *             message += "\nErrorCode: {}".format(error_code)
 *         raise ValueError(message)             # <<<<<<<<<<<<<<
 * 
 *     def _null_error(self, error_message=None):
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(5, 31, __pyx_L1_error)

  /* "src/base.pyx":25
 *         raise MemoryError(message.format(self.__class__.__name__))
 * 
 *     def _value_error(self, error_message=None, error_code=None):             # <<<<<<<<<<<<<<
 *         message = "Operation failed."
 *         if error_message:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase._value_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XDECREF(__pyx_v_message);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":33
 *         raise ValueError(message)
 * 
 *     def _null_error(self, error_message=None):             # <<<<<<<<<<<<<<
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)
 *         if error_message:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_5_null_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_5_null_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_error_message = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_null_error (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error_message,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_message);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_null_error") < 0)) __PYX_ERR(5, 33, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_error_message = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_null_error", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 33, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase._null_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10StructBase_4_null_error(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v_self), __pyx_v_error_message);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_4_null_error(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v_error_message) {
  PyObject *__pyx_v_message = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("_null_error", 0);

  /* "src/base.pyx":34
 * 
 *     def _null_error(self, error_message=None):
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)             # <<<<<<<<<<<<<<
 *         if error_message:
 *             message += "\nError: {}".format(error_message)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_NULL_error_occurred_in, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 34, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 34, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 34, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 34, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 34, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_message = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/base.pyx":35
 *     def _null_error(self, error_message=None):
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)
 *         if error_message:             # <<<<<<<<<<<<<<
 *             message += "\nError: {}".format(error_message)
 *         raise ValueError(message)
 */
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_error_message); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(5, 35, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/base.pyx":36
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)
 *         if error_message:
 *             message += "\nError: {}".format(error_message)             # <<<<<<<<<<<<<<
 *         raise ValueError(message)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Error, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 36, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_error_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 36, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_error_message};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 36, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_error_message};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 36, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 36, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_error_message);
        __Pyx_GIVEREF(__pyx_v_error_message);
        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_error_message);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 36, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 36, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/base.pyx":35
 *     def _null_error(self, error_message=None):
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)
 *         if error_message:             # <<<<<<<<<<<<<<
 *             message += "\nError: {}".format(error_message)
 *         raise ValueError(message)
 */
  }

  /* "src/base.pyx":37
 *         if error_message:
 *             message += "\nError: {}".format(error_message)
 *         raise ValueError(message)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(5, 37, __pyx_L1_error)

  /* "src/base.pyx":33
 *         raise ValueError(message)
 * 
 *     def _null_error(self, error_message=None):             # <<<<<<<<<<<<<<
 *         message = "NULL error occurred in {}.".format(self.__class__.__name__)
 *         if error_message:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase._null_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XDECREF(__pyx_v_message);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef bint use_setstate
 *     state = ()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10StructBase_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_6__reduce_cython__(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self) {
  int __pyx_v_use_setstate;
  PyObject *__pyx_v_state = NULL;
  PyObject *__pyx_v__dict = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":4
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":5
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":6
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":7
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":5
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":9
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":10
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":11
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_pyx_unpickle_StructBase); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":10
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":13
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_StructBase__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_pyx_unpickle_StructBase); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef bint use_setstate
 *     state = ()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":14
 *     else:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_StructBase__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10StructBase_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10StructBase_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10StructBase_8__setstate_cython__(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":15
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_StructBase__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 15, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp___pyx_unpickle_StructBase__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":14
 *     else:
 *         return __pyx_unpickle_StructBase, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_StructBase__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.StructBase.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":44
 *     cdef c_utils.TICK_COUNTER_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11TickCounter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11TickCounter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TickCounter___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11TickCounter___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/base.pyx":45
 * 
 *     def __cinit__(self):
 *         self._c_value = c_utils.tickcounter_create()             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value == NULL:
 *             raise MemoryError("Failed to create tick counter.")
 */
  __pyx_v_self->_c_value = tickcounter_create();

  /* "src/base.pyx":46
 *     def __cinit__(self):
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to create tick counter.")
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/base.pyx":47
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:
 *             raise MemoryError("Failed to create tick counter.")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__94, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(5, 47, __pyx_L1_error)

    /* "src/base.pyx":46
 *     def __cinit__(self):
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to create tick counter.")
 * 
 */
  }

  /* "src/base.pyx":44
 *     cdef c_utils.TICK_COUNTER_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":49
 *             raise MemoryError("Failed to create tick counter.")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_11TickCounter_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_11TickCounter_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_11TickCounter_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_11TickCounter_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/base.pyx":50
 * 
 *     def __dealloc__(self):
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/base.pyx":49
 *             raise MemoryError("Failed to create tick counter.")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.TickCounter.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/base.pyx":52
 *         self.destroy()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value != NULL:
 *             c_utils.tickcounter_destroy(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TickCounter_destroy(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 52, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 52, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/base.pyx":53
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value != NULL:             # <<<<<<<<<<<<<<
 *             c_utils.tickcounter_destroy(self._c_value)
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/base.pyx":54
 *     cpdef destroy(self):
 *         if <void*>self._c_value != NULL:
 *             c_utils.tickcounter_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL
 * 
 */
    tickcounter_destroy(__pyx_v_self->_c_value);

    /* "src/base.pyx":55
 *         if <void*>self._c_value != NULL:
 *             c_utils.tickcounter_destroy(self._c_value)
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_current_ms(self):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/base.pyx":53
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value != NULL:             # <<<<<<<<<<<<<<
 *             c_utils.tickcounter_destroy(self._c_value)
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL
 */
  }

  /* "src/base.pyx":52
 *         self.destroy()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value != NULL:
 *             c_utils.tickcounter_destroy(self._c_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TickCounter_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_11TickCounter_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/base.pyx":57
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL
 * 
 *     cpdef get_current_ms(self):             # <<<<<<<<<<<<<<
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_7get_current_ms(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TickCounter_get_current_ms(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, int __pyx_skip_dispatch) {
  tickcounter_ms_t __pyx_v_current_ms;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("get_current_ms", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_current_ms); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 57, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_7get_current_ms)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 57, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 57, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/base.pyx":59
 *     cpdef get_current_ms(self):
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Failed to get current ms time.")
 *         return current_ms
 */
  __pyx_t_5 = ((tickcounter_get_current_ms(__pyx_v_self->_c_value, (&__pyx_v_current_ms)) != 0) != 0);
  if (unlikely(__pyx_t_5)) {

    /* "src/base.pyx":60
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:
 *             raise ValueError("Failed to get current ms time.")             # <<<<<<<<<<<<<<
 *         return current_ms
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(5, 60, __pyx_L1_error)

    /* "src/base.pyx":59
 *     cpdef get_current_ms(self):
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Failed to get current ms time.")
 *         return current_ms
 */
  }

  /* "src/base.pyx":61
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:
 *             raise ValueError("Failed to get current ms time.")
 *         return current_ms             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint_fast64_t(__pyx_v_current_ms); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/base.pyx":57
 *             self._c_value = <c_utils.TICK_COUNTER_HANDLE>NULL
 * 
 *     cpdef get_current_ms(self):             # <<<<<<<<<<<<<<
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.get_current_ms", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_7get_current_ms(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_7get_current_ms(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_current_ms (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TickCounter_6get_current_ms(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_6get_current_ms(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_current_ms", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_11TickCounter_get_current_ms(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.get_current_ms", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TickCounter_8__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TickCounter_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TickCounter_10__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TickCounter_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TickCounter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":26
 * 
 * 
 * cpdef create_sas_token(const char* key, const char* scope, const char* keyname, size_t expiry):             # <<<<<<<<<<<<<<
 *     cdef c_strings.STRING_HANDLE str_value
 *     #cdef const char* c_string
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_69create_sas_token(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_sas_token(char const *__pyx_v_key, char const *__pyx_v_scope, char const *__pyx_v_keyname, size_t __pyx_v_expiry, CYTHON_UNUSED int __pyx_skip_dispatch) {
  STRING_HANDLE __pyx_v_str_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("create_sas_token", 0);

  /* "src/cbs.pyx":29
 *     cdef c_strings.STRING_HANDLE str_value
 *     #cdef const char* c_string
 *     str_value = c_utils.SASToken_CreateString(key, scope, keyname, expiry)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>str_value == NULL:
 */
  __pyx_v_str_value = SASToken_CreateString(__pyx_v_key, __pyx_v_scope, __pyx_v_keyname, __pyx_v_expiry);

  /* "src/cbs.pyx":31
 *     str_value = c_utils.SASToken_CreateString(key, scope, keyname, expiry)
 * 
 *     if <void*>str_value == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:
 */
  __pyx_t_1 = ((((void *)__pyx_v_str_value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/cbs.pyx":32
 * 
 *     if <void*>str_value == NULL:
 *         raise ValueError("Failed to create SAS token.")             # <<<<<<<<<<<<<<
 *     if c_utils.SASToken_Validate(str_value) != True:
 *         raise ValueError("Generated invalid SAS token")
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 32, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(11, 32, __pyx_L1_error)

    /* "src/cbs.pyx":31
 *     str_value = c_utils.SASToken_CreateString(key, scope, keyname, expiry)
 * 
 *     if <void*>str_value == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:
 */
  }

  /* "src/cbs.pyx":33
 *     if <void*>str_value == NULL:
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:             # <<<<<<<<<<<<<<
 *         raise ValueError("Generated invalid SAS token")
 *     return c_strings.STRING_c_str(str_value)
 */
  __pyx_t_1 = ((SASToken_Validate(__pyx_v_str_value) != 1) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/cbs.pyx":34
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:
 *         raise ValueError("Generated invalid SAS token")             # <<<<<<<<<<<<<<
 *     return c_strings.STRING_c_str(str_value)
 *     #c_strings.STRING_delete(str_value)
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 34, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(11, 34, __pyx_L1_error)

    /* "src/cbs.pyx":33
 *     if <void*>str_value == NULL:
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:             # <<<<<<<<<<<<<<
 *         raise ValueError("Generated invalid SAS token")
 *     return c_strings.STRING_c_str(str_value)
 */
  }

  /* "src/cbs.pyx":35
 *     if c_utils.SASToken_Validate(str_value) != True:
 *         raise ValueError("Generated invalid SAS token")
 *     return c_strings.STRING_c_str(str_value)             # <<<<<<<<<<<<<<
 *     #c_strings.STRING_delete(str_value)
 *     #return c_string
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(STRING_c_str(__pyx_v_str_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/cbs.pyx":26
 * 
 * 
 * cpdef create_sas_token(const char* key, const char* scope, const char* keyname, size_t expiry):             # <<<<<<<<<<<<<<
 *     cdef c_strings.STRING_HANDLE str_value
 *     #cdef const char* c_string
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_sas_token", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_69create_sas_token(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_69create_sas_token(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_key;
  char const *__pyx_v_scope;
  char const *__pyx_v_keyname;
  size_t __pyx_v_expiry;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_sas_token (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_scope,&__pyx_n_s_keyname,&__pyx_n_s_expiry,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scope)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_sas_token", 1, 4, 4, 1); __PYX_ERR(11, 26, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_keyname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_sas_token", 1, 4, 4, 2); __PYX_ERR(11, 26, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_expiry)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_sas_token", 1, 4, 4, 3); __PYX_ERR(11, 26, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_sas_token") < 0)) __PYX_ERR(11, 26, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_key = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_key) && PyErr_Occurred())) __PYX_ERR(11, 26, __pyx_L3_error)
    __pyx_v_scope = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_scope) && PyErr_Occurred())) __PYX_ERR(11, 26, __pyx_L3_error)
    __pyx_v_keyname = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_keyname) && PyErr_Occurred())) __PYX_ERR(11, 26, __pyx_L3_error)
    __pyx_v_expiry = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_expiry == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(11, 26, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_sas_token", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 26, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_sas_token", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_68create_sas_token(__pyx_self, __pyx_v_key, __pyx_v_scope, __pyx_v_keyname, __pyx_v_expiry);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_68create_sas_token(CYTHON_UNUSED PyObject *__pyx_self, char const *__pyx_v_key, char const *__pyx_v_scope, char const *__pyx_v_keyname, size_t __pyx_v_expiry) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_sas_token", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_sas_token(__pyx_v_key, __pyx_v_scope, __pyx_v_keyname, __pyx_v_expiry, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_sas_token", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":56
 *     cdef cSession _session
 * 
 *     def __cinit__(self, const char* audience, const char* token_type, const char* token, stdint.uint64_t expires_at, cSession session, stdint.uint64_t timeout, const char* connection_id):             # <<<<<<<<<<<<<<
 *         self.state = AUTH_STATUS_IDLE
 *         self.audience = audience
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_audience;
  char const *__pyx_v_token_type;
  char const *__pyx_v_token;
  uint64_t __pyx_v_expires_at;
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session = 0;
  uint64_t __pyx_v_timeout;
  char const *__pyx_v_connection_id;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_audience,&__pyx_n_s_token_type,&__pyx_n_s_token,&__pyx_n_s_expires_at,&__pyx_n_s_session,&__pyx_n_s_timeout,&__pyx_n_s_connection_id,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_audience)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_token_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 1); __PYX_ERR(11, 56, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_token)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 2); __PYX_ERR(11, 56, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_expires_at)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 3); __PYX_ERR(11, 56, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_session)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 4); __PYX_ERR(11, 56, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_timeout)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 5); __PYX_ERR(11, 56, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_connection_id)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, 6); __PYX_ERR(11, 56, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(11, 56, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
    }
    __pyx_v_audience = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_audience) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
    __pyx_v_token_type = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_token_type) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
    __pyx_v_token = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_token) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
    __pyx_v_expires_at = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_expires_at == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
    __pyx_v_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)values[4]);
    __pyx_v_timeout = __Pyx_PyInt_As_uint64_t(values[5]); if (unlikely((__pyx_v_timeout == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
    __pyx_v_connection_id = __Pyx_PyObject_AsString(values[6]); if (unlikely((!__pyx_v_connection_id) && PyErr_Occurred())) __PYX_ERR(11, 56, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 56, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_session), __pyx_ptype_5uamqp_7c_uamqp_cSession, 1, "session", 0))) __PYX_ERR(11, 56, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), __pyx_v_audience, __pyx_v_token_type, __pyx_v_token, __pyx_v_expires_at, __pyx_v_session, __pyx_v_timeout, __pyx_v_connection_id);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_audience, char const *__pyx_v_token_type, char const *__pyx_v_token, uint64_t __pyx_v_expires_at, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, uint64_t __pyx_v_timeout, char const *__pyx_v_connection_id) {
  PyObject *__pyx_v_current_time = NULL;
  PyObject *__pyx_v_remaining_time = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_5c_cbs_AUTH_STATUS __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  double __pyx_t_5;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/cbs.pyx":57
 * 
 *     def __cinit__(self, const char* audience, const char* token_type, const char* token, stdint.uint64_t expires_at, cSession session, stdint.uint64_t timeout, const char* connection_id):
 *         self.state = AUTH_STATUS_IDLE             # <<<<<<<<<<<<<<
 *         self.audience = audience
 *         self.token_type = token_type
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_IDLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->state = __pyx_t_2;

  /* "src/cbs.pyx":58
 *     def __cinit__(self, const char* audience, const char* token_type, const char* token, stdint.uint64_t expires_at, cSession session, stdint.uint64_t timeout, const char* connection_id):
 *         self.state = AUTH_STATUS_IDLE
 *         self.audience = audience             # <<<<<<<<<<<<<<
 *         self.token_type = token_type
 *         self.token = token
 */
  __pyx_v_self->audience = __pyx_v_audience;

  /* "src/cbs.pyx":59
 *         self.state = AUTH_STATUS_IDLE
 *         self.audience = audience
 *         self.token_type = token_type             # <<<<<<<<<<<<<<
 *         self.token = token
 *         self.expires_at = expires_at
 */
  __pyx_v_self->token_type = __pyx_v_token_type;

  /* "src/cbs.pyx":60
 *         self.audience = audience
 *         self.token_type = token_type
 *         self.token = token             # <<<<<<<<<<<<<<
 *         self.expires_at = expires_at
 *         self.auth_timeout = timeout
 */
  __pyx_v_self->token = __pyx_v_token;

  /* "src/cbs.pyx":61
 *         self.token_type = token_type
 *         self.token = token
 *         self.expires_at = expires_at             # <<<<<<<<<<<<<<
 *         self.auth_timeout = timeout
 *         self.connection_id = connection_id
 */
  __pyx_v_self->expires_at = __pyx_v_expires_at;

  /* "src/cbs.pyx":62
 *         self.token = token
 *         self.expires_at = expires_at
 *         self.auth_timeout = timeout             # <<<<<<<<<<<<<<
 *         self.connection_id = connection_id
 *         self._token_put_time = 0
 */
  __pyx_v_self->auth_timeout = __pyx_v_timeout;

  /* "src/cbs.pyx":63
 *         self.expires_at = expires_at
 *         self.auth_timeout = timeout
 *         self.connection_id = connection_id             # <<<<<<<<<<<<<<
 *         self._token_put_time = 0
 *         current_time = int(time.time())
 */
  __pyx_v_self->connection_id = __pyx_v_connection_id;

  /* "src/cbs.pyx":64
 *         self.auth_timeout = timeout
 *         self.connection_id = connection_id
 *         self._token_put_time = 0             # <<<<<<<<<<<<<<
 *         current_time = int(time.time())
 *         remaining_time = expires_at - current_time
 */
  __pyx_v_self->_token_put_time = 0;

  /* "src/cbs.pyx":65
 *         self.connection_id = connection_id
 *         self._token_put_time = 0
 *         current_time = int(time.time())             # <<<<<<<<<<<<<<
 *         remaining_time = expires_at - current_time
 *         self._refresh_window = int(float(remaining_time) * 0.1)
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_time); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  if (__pyx_t_3) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 65, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 65, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_current_time = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/cbs.pyx":66
 *         self._token_put_time = 0
 *         current_time = int(time.time())
 *         remaining_time = expires_at - current_time             # <<<<<<<<<<<<<<
 *         self._refresh_window = int(float(remaining_time) * 0.1)
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)
 */
  __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_expires_at); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyNumber_Subtract(__pyx_t_4, __pyx_v_current_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_remaining_time = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/cbs.pyx":67
 *         current_time = int(time.time())
 *         remaining_time = expires_at - current_time
 *         self._refresh_window = int(float(remaining_time) * 0.1)             # <<<<<<<<<<<<<<
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)
 *         self._session = session
 */
  __pyx_t_5 = __Pyx_PyObject_AsDouble(__pyx_v_remaining_time); if (unlikely(__pyx_t_5 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(11, 67, __pyx_L1_error)
  __pyx_v_self->_refresh_window = ((uint64_t)(__pyx_t_5 * 0.1));

  /* "src/cbs.pyx":68
 *         remaining_time = expires_at - current_time
 *         self._refresh_window = int(float(remaining_time) * 0.1)
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)             # <<<<<<<<<<<<<<
 *         self._session = session
 *         if <void*>self._cbs_handle == NULL:
 */
  __pyx_v_self->_cbs_handle = cbs_create(__pyx_v_session->_c_value);

  /* "src/cbs.pyx":69
 *         self._refresh_window = int(float(remaining_time) * 0.1)
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)
 *         self._session = session             # <<<<<<<<<<<<<<
 *         if <void*>self._cbs_handle == NULL:
 *             raise MemoryError("Unable to create CBS Handle.")
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_session));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_session));
  __Pyx_GOTREF(__pyx_v_self->_session);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_session));
  __pyx_v_self->_session = __pyx_v_session;

  /* "src/cbs.pyx":70
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)
 *         self._session = session
 *         if <void*>self._cbs_handle == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 */
  __pyx_t_6 = ((((void *)__pyx_v_self->_cbs_handle) == NULL) != 0);
  if (unlikely(__pyx_t_6)) {

    /* "src/cbs.pyx":71
 *         self._session = session
 *         if <void*>self._cbs_handle == NULL:
 *             raise MemoryError("Unable to create CBS Handle.")             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 *             raise ValueError("Unable to open CBS link.")
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(11, 71, __pyx_L1_error)

    /* "src/cbs.pyx":70
 *         self._cbs_handle = c_cbs.cbs_create(<c_session.SESSION_HANDLE>session._c_value)
 *         self._session = session
 *         if <void*>self._cbs_handle == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 */
  }

  /* "src/cbs.pyx":72
 *         if <void*>self._cbs_handle == NULL:
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unable to open CBS link.")
 * 
 */
  __pyx_t_6 = ((cbs_open_async(__pyx_v_self->_cbs_handle, ((ON_CBS_OPEN_COMPLETE)__pyx_f_5uamqp_7c_uamqp_on_cbs_open_complete), ((void *)__pyx_v_self), ((ON_CBS_ERROR)__pyx_f_5uamqp_7c_uamqp_on_cbs_error), ((void *)__pyx_v_self)) != 0) != 0);
  if (unlikely(__pyx_t_6)) {

    /* "src/cbs.pyx":73
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 *             raise ValueError("Unable to open CBS link.")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__101, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(11, 73, __pyx_L1_error)

    /* "src/cbs.pyx":72
 *         if <void*>self._cbs_handle == NULL:
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unable to open CBS link.")
 * 
 */
  }

  /* "src/cbs.pyx":56
 *     cdef cSession _session
 * 
 *     def __cinit__(self, const char* audience, const char* token_type, const char* token, stdint.uint64_t expires_at, cSession session, stdint.uint64_t timeout, const char* connection_id):             # <<<<<<<<<<<<<<
 *         self.state = AUTH_STATUS_IDLE
 *         self.audience = audience
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_current_time);
  __Pyx_XDECREF(__pyx_v_remaining_time);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":75
 *             raise ValueError("Unable to open CBS link.")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating CBSTokenAuth")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/cbs.pyx":76
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating CBSTokenAuth")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__102, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":77
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating CBSTokenAuth")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":75
 *             raise ValueError("Unable to open CBS link.")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating CBSTokenAuth")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.CBSTokenAuth.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/cbs.pyx":79
 *         self.destroy()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._cbs_handle is not NULL:
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_destroy(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 79, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 79, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":80
 * 
 *     cpdef destroy(self):
 *         if <void*>self._cbs_handle is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 *             c_cbs.cbs_destroy(self._cbs_handle)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_cbs_handle) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/cbs.pyx":81
 *     cpdef destroy(self):
 *         if <void*>self._cbs_handle is not NULL:
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)             # <<<<<<<<<<<<<<
 *             c_cbs.cbs_destroy(self._cbs_handle)
 *             self._cbs_handle = <c_cbs.CBS_HANDLE>NULL
 */
    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_self->connection_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Destroying_CBSTokenAuth_for_conn, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 81, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Destroying_CBSTokenAuth_for_conn, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 81, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 81, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_s_Destroying_CBSTokenAuth_for_conn);
      __Pyx_GIVEREF(__pyx_kp_s_Destroying_CBSTokenAuth_for_conn);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_Destroying_CBSTokenAuth_for_conn);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 81, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/cbs.pyx":82
 *         if <void*>self._cbs_handle is not NULL:
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 *             c_cbs.cbs_destroy(self._cbs_handle)             # <<<<<<<<<<<<<<
 *             self._cbs_handle = <c_cbs.CBS_HANDLE>NULL
 *             self._session = None
 */
    cbs_destroy(__pyx_v_self->_cbs_handle);

    /* "src/cbs.pyx":83
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 *             c_cbs.cbs_destroy(self._cbs_handle)
 *             self._cbs_handle = <c_cbs.CBS_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._session = None
 * 
 */
    __pyx_v_self->_cbs_handle = NULL;

    /* "src/cbs.pyx":84
 *             c_cbs.cbs_destroy(self._cbs_handle)
 *             self._cbs_handle = <c_cbs.CBS_HANDLE>NULL
 *             self._session = None             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_session);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_session));
    __pyx_v_self->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None);

    /* "src/cbs.pyx":80
 * 
 *     cpdef destroy(self):
 *         if <void*>self._cbs_handle is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 *             c_cbs.cbs_destroy(self._cbs_handle)
 */
  }

  /* "src/cbs.pyx":79
 *         self.destroy()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._cbs_handle is not NULL:
 *             _logger.debug("Destroying CBSTokenAuth for connection %r", self.connection_id)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":86
 *             self._session = None
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:
 *             self._value_error("Unable to close CBS link.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_close(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("close", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_7close)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 86, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 86, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":87
 * 
 *     cpdef close(self):
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to close CBS link.")
 * 
 */
  __pyx_t_5 = ((cbs_close(__pyx_v_self->_cbs_handle) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/cbs.pyx":88
 *     cpdef close(self):
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:
 *             self._value_error("Unable to close CBS link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint trace_on):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__103, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/cbs.pyx":87
 * 
 *     cpdef close(self):
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to close CBS link.")
 * 
 */
  }

  /* "src/cbs.pyx":86
 *             self._session = None
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:
 *             self._value_error("Unable to close CBS link.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_6close(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_6close(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("close", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":90
 *             self._value_error("Unable to close CBS link.")
 * 
 *     cpdef set_trace(self, bint trace_on):             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:
 *             raise ValueError("Unable to set debug trace.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_9set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_trace_on); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_v_trace_on, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("set_trace", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_9set_trace)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_trace_on); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 90, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 90, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 90, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 90, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 90, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 90, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":91
 * 
 *     cpdef set_trace(self, bint trace_on):
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unable to set debug trace.")
 * 
 */
  __pyx_t_7 = ((cbs_set_trace(__pyx_v_self->_cbs_handle, __pyx_v_trace_on) != 0) != 0);
  if (unlikely(__pyx_t_7)) {

    /* "src/cbs.pyx":92
 *     cpdef set_trace(self, bint trace_on):
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:
 *             raise ValueError("Unable to set debug trace.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef authenticate(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__104, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(11, 92, __pyx_L1_error)

    /* "src/cbs.pyx":91
 * 
 *     cpdef set_trace(self, bint trace_on):
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Unable to set debug trace.")
 * 
 */
  }

  /* "src/cbs.pyx":90
 *             self._value_error("Unable to close CBS link.")
 * 
 *     cpdef set_trace(self, bint trace_on):             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:
 *             raise ValueError("Unable to set debug trace.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_9set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_trace_on); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_9set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_trace_on) {
  int __pyx_v_trace_on;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_trace (wrapper)", 0);
  assert(__pyx_arg_trace_on); {
    __pyx_v_trace_on = __Pyx_PyObject_IsTrue(__pyx_arg_trace_on); if (unlikely((__pyx_v_trace_on == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 90, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_8set_trace(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), ((int)__pyx_v_trace_on));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_8set_trace(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_v_trace_on) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_set_trace(__pyx_v_self, __pyx_v_trace_on, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":94
 *             raise ValueError("Unable to set debug trace.")
 * 
 *     cpdef authenticate(self):             # <<<<<<<<<<<<<<
 *         if self.state == AUTH_STATUS_IN_PROGRESS:
 *             return
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_11authenticate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_authenticate(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_current_time = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  uint64_t __pyx_t_6;
  enum __pyx_t_5c_cbs_AUTH_STATUS __pyx_t_7;
  __Pyx_RefNannySetupContext("authenticate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_authenticate); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_11authenticate)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 94, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 94, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":95
 * 
 *     cpdef authenticate(self):
 *         if self.state == AUTH_STATUS_IN_PROGRESS:             # <<<<<<<<<<<<<<
 *             return
 *         current_time = int(time.time())
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_IN_PROGRESS); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_5) {

    /* "src/cbs.pyx":96
 *     cpdef authenticate(self):
 *         if self.state == AUTH_STATUS_IN_PROGRESS:
 *             return             # <<<<<<<<<<<<<<
 *         current_time = int(time.time())
 *         if current_time >= self.expires_at:
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/cbs.pyx":95
 * 
 *     cpdef authenticate(self):
 *         if self.state == AUTH_STATUS_IN_PROGRESS:             # <<<<<<<<<<<<<<
 *             return
 *         current_time = int(time.time())
 */
  }

  /* "src/cbs.pyx":97
 *         if self.state == AUTH_STATUS_IN_PROGRESS:
 *             return
 *         current_time = int(time.time())             # <<<<<<<<<<<<<<
 *         if current_time >= self.expires_at:
 *             raise ValueError("Token has expired")
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 97, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 97, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_current_time = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/cbs.pyx":98
 *             return
 *         current_time = int(time.time())
 *         if current_time >= self.expires_at:             # <<<<<<<<<<<<<<
 *             raise ValueError("Token has expired")
 *         self._token_put_time = current_time
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->expires_at); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyObject_RichCompare(__pyx_v_current_time, __pyx_t_1, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_5)) {

    /* "src/cbs.pyx":99
 *         current_time = int(time.time())
 *         if current_time >= self.expires_at:
 *             raise ValueError("Token has expired")             # <<<<<<<<<<<<<<
 *         self._token_put_time = current_time
 *         if c_cbs.cbs_put_token_async(
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__105, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(11, 99, __pyx_L1_error)

    /* "src/cbs.pyx":98
 *             return
 *         current_time = int(time.time())
 *         if current_time >= self.expires_at:             # <<<<<<<<<<<<<<
 *             raise ValueError("Token has expired")
 *         self._token_put_time = current_time
 */
  }

  /* "src/cbs.pyx":100
 *         if current_time >= self.expires_at:
 *             raise ValueError("Token has expired")
 *         self._token_put_time = current_time             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_put_token_async(
 *                 self._cbs_handle,
 */
  __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_current_time); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(11, 100, __pyx_L1_error)
  __pyx_v_self->_token_put_time = __pyx_t_6;

  /* "src/cbs.pyx":107
 *                 self.token,
 *                 <c_cbs.ON_CBS_OPERATION_COMPLETE>on_cbs_put_token_complete,
 *                 <void*>self) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Put-Token request failed.")
 *         else:
 */
  __pyx_t_5 = ((cbs_put_token_async(__pyx_v_self->_cbs_handle, __pyx_v_self->token_type, __pyx_v_self->audience, __pyx_v_self->token, ((ON_CBS_OPERATION_COMPLETE)__pyx_f_5uamqp_7c_uamqp_on_cbs_put_token_complete), ((void *)__pyx_v_self)) != 0) != 0);

  /* "src/cbs.pyx":101
 *             raise ValueError("Token has expired")
 *         self._token_put_time = current_time
 *         if c_cbs.cbs_put_token_async(             # <<<<<<<<<<<<<<
 *                 self._cbs_handle,
 *                 self.token_type,
 */
  if (unlikely(__pyx_t_5)) {

    /* "src/cbs.pyx":108
 *                 <c_cbs.ON_CBS_OPERATION_COMPLETE>on_cbs_put_token_complete,
 *                 <void*>self) != 0:
 *             raise ValueError("Put-Token request failed.")             # <<<<<<<<<<<<<<
 *         else:
 *             self.state = AUTH_STATUS_IN_PROGRESS
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__106, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(11, 108, __pyx_L1_error)

    /* "src/cbs.pyx":101
 *             raise ValueError("Token has expired")
 *         self._token_put_time = current_time
 *         if c_cbs.cbs_put_token_async(             # <<<<<<<<<<<<<<
 *                 self._cbs_handle,
 *                 self.token_type,
 */
  }

  /* "src/cbs.pyx":110
 *             raise ValueError("Put-Token request failed.")
 *         else:
 *             self.state = AUTH_STATUS_IN_PROGRESS             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_status(self):
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_IN_PROGRESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_self->state = __pyx_t_7;
  }

  /* "src/cbs.pyx":94
 *             raise ValueError("Unable to set debug trace.")
 * 
 *     cpdef authenticate(self):             # <<<<<<<<<<<<<<
 *         if self.state == AUTH_STATUS_IN_PROGRESS:
 *             return
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.authenticate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_current_time);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_11authenticate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_11authenticate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("authenticate (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_10authenticate(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_10authenticate(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("authenticate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_authenticate(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.authenticate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":112
 *             self.state = AUTH_STATUS_IN_PROGRESS
 * 
 *     cpdef get_status(self):             # <<<<<<<<<<<<<<
 *         self._update_status()
 *         return self.state
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_13get_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("get_status", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_13get_status)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 112, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 112, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":113
 * 
 *     cpdef get_status(self):
 *         self._update_status()             # <<<<<<<<<<<<<<
 *         return self.state
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->_update_status(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":114
 *     cpdef get_status(self):
 *         self._update_status()
 *         return self.state             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_failure_info(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/cbs.pyx":112
 *             self.state = AUTH_STATUS_IN_PROGRESS
 * 
 *     cpdef get_status(self):             # <<<<<<<<<<<<<<
 *         self._update_status()
 *         return self.state
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.get_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_13get_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_13get_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_status (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_12get_status(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_12get_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_status", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_status(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.get_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":116
 *         return self.state
 * 
 *     cpdef get_failure_info(self):             # <<<<<<<<<<<<<<
 *         return self.token_status_code, self.token_status_description
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_15get_failure_info(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_failure_info(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("get_failure_info", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_failure_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_15get_failure_info)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 116, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 116, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":117
 * 
 *     cpdef get_failure_info(self):
 *         return self.token_status_code, self.token_status_description             # <<<<<<<<<<<<<<
 * 
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->token_status_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_self->token_status_description); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/cbs.pyx":116
 *         return self.state
 * 
 *     cpdef get_failure_info(self):             # <<<<<<<<<<<<<<
 *         return self.token_status_code, self.token_status_description
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.get_failure_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_15get_failure_info(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_15get_failure_info(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_failure_info (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_14get_failure_info(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_14get_failure_info(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_failure_info", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_failure_info(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.get_failure_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":119
 *         return self.token_status_code, self.token_status_description
 * 
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):             # <<<<<<<<<<<<<<
 *         self._update_status()
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_17refresh(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_refresh(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_refresh_token, uint64_t __pyx_v_expires_at, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  __Pyx_RefNannySetupContext("refresh", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_refresh); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_17refresh)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_refresh_token); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 119, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_expires_at); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 119, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 119, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 119, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 119, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 119, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":120
 * 
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):
 *         self._update_status()             # <<<<<<<<<<<<<<
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             self.token = refresh_token
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->_update_status(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":121
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):
 *         self._update_status()
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:             # <<<<<<<<<<<<<<
 *             self.token = refresh_token
 *             self.authenticate()
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(11, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_9) {

    /* "src/cbs.pyx":122
 *         self._update_status()
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             self.token = refresh_token             # <<<<<<<<<<<<<<
 *             self.authenticate()
 *             self.expires_at = expires_at
 */
    __pyx_v_self->token = __pyx_v_refresh_token;

    /* "src/cbs.pyx":123
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             self.token = refresh_token
 *             self.authenticate()             # <<<<<<<<<<<<<<
 *             self.expires_at = expires_at
 * 
 */
    __pyx_t_5 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->authenticate(__pyx_v_self, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/cbs.pyx":124
 *             self.token = refresh_token
 *             self.authenticate()
 *             self.expires_at = expires_at             # <<<<<<<<<<<<<<
 * 
 *     cpdef _update_status(self):
 */
    __pyx_v_self->expires_at = __pyx_v_expires_at;

    /* "src/cbs.pyx":121
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):
 *         self._update_status()
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:             # <<<<<<<<<<<<<<
 *             self.token = refresh_token
 *             self.authenticate()
 */
  }

  /* "src/cbs.pyx":119
 *         return self.token_status_code, self.token_status_description
 * 
 *     cpdef refresh(self, const char* refresh_token, stdint.uint64_t expires_at):             # <<<<<<<<<<<<<<
 *         self._update_status()
 *         if self.state == AUTH_STATUS_REFRESH_REQUIRED:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.refresh", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_17refresh(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_17refresh(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_refresh_token;
  uint64_t __pyx_v_expires_at;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("refresh (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_refresh_token,&__pyx_n_s_expires_at,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_refresh_token)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_expires_at)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("refresh", 1, 2, 2, 1); __PYX_ERR(11, 119, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "refresh") < 0)) __PYX_ERR(11, 119, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_refresh_token = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_refresh_token) && PyErr_Occurred())) __PYX_ERR(11, 119, __pyx_L3_error)
    __pyx_v_expires_at = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_expires_at == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(11, 119, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("refresh", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 119, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.refresh", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_16refresh(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), __pyx_v_refresh_token, __pyx_v_expires_at);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_16refresh(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, char const *__pyx_v_refresh_token, uint64_t __pyx_v_expires_at) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("refresh", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_refresh(__pyx_v_self, __pyx_v_refresh_token, __pyx_v_expires_at, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.refresh", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":126
 *             self.expires_at = expires_at
 * 
 *     cpdef _update_status(self):             # <<<<<<<<<<<<<<
 *         error_code = 0
 *         is_refresh_required = False
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_19_update_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__update_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  CYTHON_UNUSED long __pyx_v_error_code;
  PyObject *__pyx_v_is_refresh_required = NULL;
  PyObject *__pyx_v_is_expired = NULL;
  PyObject *__pyx_v_put_timeout = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  enum __pyx_t_5c_cbs_AUTH_STATUS __pyx_t_8;
  __Pyx_RefNannySetupContext("_update_status", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_update_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_19_update_status)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 126, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 126, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":127
 * 
 *     cpdef _update_status(self):
 *         error_code = 0             # <<<<<<<<<<<<<<
 *         is_refresh_required = False
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:
 */
  __pyx_v_error_code = 0;

  /* "src/cbs.pyx":128
 *     cpdef _update_status(self):
 *         error_code = 0
 *         is_refresh_required = False             # <<<<<<<<<<<<<<
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 */
  __Pyx_INCREF(Py_False);
  __pyx_v_is_refresh_required = Py_False;

  /* "src/cbs.pyx":129
 *         error_code = 0
 *         is_refresh_required = False
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:             # <<<<<<<<<<<<<<
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 *             if is_expired:
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_OK); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (!__pyx_t_6) {
  } else {
    __pyx_t_5 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(11, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "src/cbs.pyx":130
 *         is_refresh_required = False
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()             # <<<<<<<<<<<<<<
 *             if is_expired:
 *                 self.state = AUTH_STATUS_EXPIRED
 */
    __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->_check_expiration_and_refresh_status(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(11, 130, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      #else
      __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext;
      index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L6_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_4), 2) < 0) __PYX_ERR(11, 130, __pyx_L1_error)
      __pyx_t_7 = NULL;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L7_unpacking_done;
      __pyx_L6_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_7 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(11, 130, __pyx_L1_error)
      __pyx_L7_unpacking_done:;
    }
    __pyx_v_is_expired = __pyx_t_2;
    __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_is_refresh_required, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/cbs.pyx":131
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 *             if is_expired:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_EXPIRED
 *             elif is_refresh_required:
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_is_expired); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 131, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "src/cbs.pyx":132
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 *             if is_expired:
 *                 self.state = AUTH_STATUS_EXPIRED             # <<<<<<<<<<<<<<
 *             elif is_refresh_required:
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 */
      __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_EXPIRED); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 132, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_self->state = __pyx_t_8;

      /* "src/cbs.pyx":131
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 *             if is_expired:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_EXPIRED
 *             elif is_refresh_required:
 */
      goto __pyx_L8;
    }

    /* "src/cbs.pyx":133
 *             if is_expired:
 *                 self.state = AUTH_STATUS_EXPIRED
 *             elif is_refresh_required:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_is_refresh_required); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 133, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "src/cbs.pyx":134
 *                 self.state = AUTH_STATUS_EXPIRED
 *             elif is_refresh_required:
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED             # <<<<<<<<<<<<<<
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 *             put_timeout = self._check_put_timeout_status()
 */
      __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 134, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 134, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_self->state = __pyx_t_8;

      /* "src/cbs.pyx":133
 *             if is_expired:
 *                 self.state = AUTH_STATUS_EXPIRED
 *             elif is_refresh_required:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 */
    }
    __pyx_L8:;

    /* "src/cbs.pyx":129
 *         error_code = 0
 *         is_refresh_required = False
 *         if self.state == AUTH_STATUS_OK or self.state == AUTH_STATUS_REFRESH_REQUIRED:             # <<<<<<<<<<<<<<
 *             is_expired, is_refresh_required = self._check_expiration_and_refresh_status()
 *             if is_expired:
 */
    goto __pyx_L3;
  }

  /* "src/cbs.pyx":135
 *             elif is_refresh_required:
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:             # <<<<<<<<<<<<<<
 *             put_timeout = self._check_put_timeout_status()
 *             if put_timeout:
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_v_self->state); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_IN_PROGRESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {

    /* "src/cbs.pyx":136
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 *             put_timeout = self._check_put_timeout_status()             # <<<<<<<<<<<<<<
 *             if put_timeout:
 *                 self.state = AUTH_STATUS_TIMEOUT
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->_check_put_timeout_status(__pyx_v_self, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_put_timeout = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/cbs.pyx":137
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 *             put_timeout = self._check_put_timeout_status()
 *             if put_timeout:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_TIMEOUT
 * 
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_put_timeout); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(11, 137, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "src/cbs.pyx":138
 *             put_timeout = self._check_put_timeout_status()
 *             if put_timeout:
 *                 self.state = AUTH_STATUS_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     cpdef _check_put_timeout_status(self):
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_TIMEOUT); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 138, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 138, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_v_self->state = __pyx_t_8;

      /* "src/cbs.pyx":137
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:
 *             put_timeout = self._check_put_timeout_status()
 *             if put_timeout:             # <<<<<<<<<<<<<<
 *                 self.state = AUTH_STATUS_TIMEOUT
 * 
 */
    }

    /* "src/cbs.pyx":135
 *             elif is_refresh_required:
 *                 self.state = AUTH_STATUS_REFRESH_REQUIRED
 *         elif self.state == AUTH_STATUS_IN_PROGRESS:             # <<<<<<<<<<<<<<
 *             put_timeout = self._check_put_timeout_status()
 *             if put_timeout:
 */
  }
  __pyx_L3:;

  /* "src/cbs.pyx":126
 *             self.expires_at = expires_at
 * 
 *     cpdef _update_status(self):             # <<<<<<<<<<<<<<
 *         error_code = 0
 *         is_refresh_required = False
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._update_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_is_refresh_required);
  __Pyx_XDECREF(__pyx_v_is_expired);
  __Pyx_XDECREF(__pyx_v_put_timeout);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_19_update_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_19_update_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_update_status (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_18_update_status(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_18_update_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_update_status", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__update_status(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._update_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":140
 *                 self.state = AUTH_STATUS_TIMEOUT
 * 
 *     cpdef _check_put_timeout_status(self):             # <<<<<<<<<<<<<<
 *         seconds_since_epoc = int(time.time())
 *         if self.auth_timeout > 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_21_check_put_timeout_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_put_timeout_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_seconds_since_epoc = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("_check_put_timeout_status", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_put_timeout_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_21_check_put_timeout_status)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 140, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 140, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":141
 * 
 *     cpdef _check_put_timeout_status(self):
 *         seconds_since_epoc = int(time.time())             # <<<<<<<<<<<<<<
 *         if self.auth_timeout > 0:
 *             return (seconds_since_epoc - self._token_put_time) >= self.auth_timeout
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 141, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 141, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_seconds_since_epoc = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/cbs.pyx":142
 *     cpdef _check_put_timeout_status(self):
 *         seconds_since_epoc = int(time.time())
 *         if self.auth_timeout > 0:             # <<<<<<<<<<<<<<
 *             return (seconds_since_epoc - self._token_put_time) >= self.auth_timeout
 *         else:
 */
  __pyx_t_5 = ((__pyx_v_self->auth_timeout > 0) != 0);
  if (__pyx_t_5) {

    /* "src/cbs.pyx":143
 *         seconds_since_epoc = int(time.time())
 *         if self.auth_timeout > 0:
 *             return (seconds_since_epoc - self._token_put_time) >= self.auth_timeout             # <<<<<<<<<<<<<<
 *         else:
 *             return False
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_token_put_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PyNumber_Subtract(__pyx_v_seconds_since_epoc, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->auth_timeout); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 143, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/cbs.pyx":142
 *     cpdef _check_put_timeout_status(self):
 *         seconds_since_epoc = int(time.time())
 *         if self.auth_timeout > 0:             # <<<<<<<<<<<<<<
 *             return (seconds_since_epoc - self._token_put_time) >= self.auth_timeout
 *         else:
 */
  }

  /* "src/cbs.pyx":145
 *             return (seconds_since_epoc - self._token_put_time) >= self.auth_timeout
 *         else:
 *             return False             # <<<<<<<<<<<<<<
 * 
 *     cpdef _check_expiration_and_refresh_status(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;
  }

  /* "src/cbs.pyx":140
 *                 self.state = AUTH_STATUS_TIMEOUT
 * 
 *     cpdef _check_put_timeout_status(self):             # <<<<<<<<<<<<<<
 *         seconds_since_epoc = int(time.time())
 *         if self.auth_timeout > 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._check_put_timeout_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_seconds_since_epoc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_21_check_put_timeout_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_21_check_put_timeout_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_check_put_timeout_status (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_20_check_put_timeout_status(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_20_check_put_timeout_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_check_put_timeout_status", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_put_timeout_status(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._check_put_timeout_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":147
 *             return False
 * 
 *     cpdef _check_expiration_and_refresh_status(self):             # <<<<<<<<<<<<<<
 *         seconds_since_epoc = int(time.time())
 *         is_expired = seconds_since_epoc >= self.expires_at
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_23_check_expiration_and_refresh_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_expiration_and_refresh_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_seconds_since_epoc = NULL;
  PyObject *__pyx_v_is_expired = NULL;
  PyObject *__pyx_v_is_refresh_required = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_check_expiration_and_refresh_status", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_check_expiration_and_refresh_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_23_check_expiration_and_refresh_status)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 147, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 147, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":148
 * 
 *     cpdef _check_expiration_and_refresh_status(self):
 *         seconds_since_epoc = int(time.time())             # <<<<<<<<<<<<<<
 *         is_expired = seconds_since_epoc >= self.expires_at
 *         is_refresh_required = (self.expires_at - seconds_since_epoc) <= self._refresh_window
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (__pyx_t_2) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 148, __pyx_L1_error)
  }
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_seconds_since_epoc = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/cbs.pyx":149
 *     cpdef _check_expiration_and_refresh_status(self):
 *         seconds_since_epoc = int(time.time())
 *         is_expired = seconds_since_epoc >= self.expires_at             # <<<<<<<<<<<<<<
 *         is_refresh_required = (self.expires_at - seconds_since_epoc) <= self._refresh_window
 *         return is_expired, is_refresh_required
 */
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->expires_at); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_seconds_since_epoc, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_is_expired = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/cbs.pyx":150
 *         seconds_since_epoc = int(time.time())
 *         is_expired = seconds_since_epoc >= self.expires_at
 *         is_refresh_required = (self.expires_at - seconds_since_epoc) <= self._refresh_window             # <<<<<<<<<<<<<<
 *         return is_expired, is_refresh_required
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->expires_at); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_v_seconds_since_epoc); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_refresh_window); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_is_refresh_required = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/cbs.pyx":151
 *         is_expired = seconds_since_epoc >= self.expires_at
 *         is_refresh_required = (self.expires_at - seconds_since_epoc) <= self._refresh_window
 *         return is_expired, is_refresh_required             # <<<<<<<<<<<<<<
 * 
 *     cpdef _cbs_open_complete(self, result):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_is_expired);
  __Pyx_GIVEREF(__pyx_v_is_expired);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_is_expired);
  __Pyx_INCREF(__pyx_v_is_refresh_required);
  __Pyx_GIVEREF(__pyx_v_is_refresh_required);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_is_refresh_required);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/cbs.pyx":147
 *             return False
 * 
 *     cpdef _check_expiration_and_refresh_status(self):             # <<<<<<<<<<<<<<
 *         seconds_since_epoc = int(time.time())
 *         is_expired = seconds_since_epoc >= self.expires_at
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._check_expiration_and_refresh_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_seconds_since_epoc);
  __Pyx_XDECREF(__pyx_v_is_expired);
  __Pyx_XDECREF(__pyx_v_is_refresh_required);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_23_check_expiration_and_refresh_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_23_check_expiration_and_refresh_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_check_expiration_and_refresh_status (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_22_check_expiration_and_refresh_status(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_22_check_expiration_and_refresh_status(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_check_expiration_and_refresh_status", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_expiration_and_refresh_status(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._check_expiration_and_refresh_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":153
 *         return is_expired, is_refresh_required
 * 
 *     cpdef _cbs_open_complete(self, result):             # <<<<<<<<<<<<<<
 *         self.on_cbs_open_complete(result)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_25_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("_cbs_open_complete", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cbs_open_complete); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_25_cbs_open_complete)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 153, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_result};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 153, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_result};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 153, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_result);
          __Pyx_GIVEREF(__pyx_v_result);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_result);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":154
 * 
 *     cpdef _cbs_open_complete(self, result):
 *         self.on_cbs_open_complete(result)             # <<<<<<<<<<<<<<
 * 
 *     cpdef on_cbs_open_complete(self, result):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->on_cbs_open_complete(__pyx_v_self, __pyx_v_result, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":153
 *         return is_expired, is_refresh_required
 * 
 *     cpdef _cbs_open_complete(self, result):             # <<<<<<<<<<<<<<
 *         self.on_cbs_open_complete(result)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_25_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_25_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_cbs_open_complete (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_24_cbs_open_complete(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), ((PyObject *)__pyx_v_result));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_24_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_cbs_open_complete", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_open_complete(__pyx_v_self, __pyx_v_result, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":156
 *         self.on_cbs_open_complete(result)
 * 
 *     cpdef on_cbs_open_complete(self, result):             # <<<<<<<<<<<<<<
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_27on_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  enum __pyx_t_5c_cbs_AUTH_STATUS __pyx_t_8;
  __Pyx_RefNannySetupContext("on_cbs_open_complete", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_on_cbs_open_complete); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_27on_cbs_open_complete)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 156, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_result};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 156, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_result};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 156, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 156, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_result);
          __Pyx_GIVEREF(__pyx_v_result);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_result);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 156, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":157
 * 
 *     cpdef on_cbs_open_complete(self, result):
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)             # <<<<<<<<<<<<<<
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:
 *             self.state = AUTH_STATUS_FAILURE
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_self->connection_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CBS_for_connection_r_completed_o, __pyx_t_2, __pyx_v_result};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 157, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_CBS_for_connection_r_completed_o, __pyx_t_2, __pyx_v_result};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 157, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  {
    __pyx_t_4 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_CBS_for_connection_r_completed_o);
    __Pyx_GIVEREF(__pyx_kp_s_CBS_for_connection_r_completed_o);
    PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_kp_s_CBS_for_connection_r_completed_o);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_t_2);
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_result);
    __pyx_t_2 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":158
 *     cpdef on_cbs_open_complete(self, result):
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:             # <<<<<<<<<<<<<<
 *             self.state = AUTH_STATUS_FAILURE
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(CBS_OPEN_ERROR); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyObject_RichCompare(__pyx_v_result, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(11, 158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_7) {

    /* "src/cbs.pyx":159
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:
 *             self.state = AUTH_STATUS_FAILURE             # <<<<<<<<<<<<<<
 * 
 *     cpdef _cbs_error(self):
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_FAILURE); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_self->state = __pyx_t_8;

    /* "src/cbs.pyx":158
 *     cpdef on_cbs_open_complete(self, result):
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:             # <<<<<<<<<<<<<<
 *             self.state = AUTH_STATUS_FAILURE
 * 
 */
  }

  /* "src/cbs.pyx":156
 *         self.on_cbs_open_complete(result)
 * 
 *     cpdef on_cbs_open_complete(self, result):             # <<<<<<<<<<<<<<
 *         _logger.info("CBS for connection %r completed opening with status: %r", self.connection_id, result)
 *         if result == c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_27on_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_27on_cbs_open_complete(PyObject *__pyx_v_self, PyObject *__pyx_v_result) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("on_cbs_open_complete (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_26on_cbs_open_complete(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), ((PyObject *)__pyx_v_result));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_26on_cbs_open_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, PyObject *__pyx_v_result) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_open_complete", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_open_complete(__pyx_v_self, __pyx_v_result, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":161
 *             self.state = AUTH_STATUS_FAILURE
 * 
 *     cpdef _cbs_error(self):             # <<<<<<<<<<<<<<
 *         self.on_cbs_error()
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_29_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_cbs_error", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cbs_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_29_cbs_error)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 161, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 161, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":162
 * 
 *     cpdef _cbs_error(self):
 *         self.on_cbs_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef on_cbs_error(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->on_cbs_error(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":161
 *             self.state = AUTH_STATUS_FAILURE
 * 
 *     cpdef _cbs_error(self):             # <<<<<<<<<<<<<<
 *         self.on_cbs_error()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_29_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_29_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_cbs_error (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_28_cbs_error(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_28_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_cbs_error", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_error(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":164
 *         self.on_cbs_error()
 * 
 *     cpdef on_cbs_error(self):             # <<<<<<<<<<<<<<
 *         _logger.info("CBS error occurred on connection %r.", self.connection_id)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_31on_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_error", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_on_cbs_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_31on_cbs_error)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 164, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 164, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":165
 * 
 *     cpdef on_cbs_error(self):
 *         _logger.info("CBS error occurred on connection %r.", self.connection_id)             # <<<<<<<<<<<<<<
 * 
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_self->connection_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_CBS_error_occurred_on_connection, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 165, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_CBS_error_occurred_on_connection, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 165, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_CBS_error_occurred_on_connection);
    __Pyx_GIVEREF(__pyx_kp_s_CBS_error_occurred_on_connection);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_CBS_error_occurred_on_connection);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":164
 *         self.on_cbs_error()
 * 
 *     cpdef on_cbs_error(self):             # <<<<<<<<<<<<<<
 *         _logger.info("CBS error occurred on connection %r.", self.connection_id)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_31on_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_31on_cbs_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("on_cbs_error (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_30on_cbs_error(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_30on_cbs_error(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_error", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_error(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":167
 *         _logger.info("CBS error occurred on connection %r.", self.connection_id)
 * 
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         if result == CBS_OPERATION_RESULT_OK:
 *             self.state = AUTH_STATUS_OK
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_33_cbs_put_token_compelete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_put_token_compelete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  enum __pyx_t_5c_cbs_AUTH_STATUS __pyx_t_11;
  __Pyx_RefNannySetupContext("_cbs_put_token_compelete", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cbs_put_token_compelete); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_33_cbs_put_token_compelete)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(__pyx_v_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_status_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 167, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 167, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 167, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_7) {
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 167, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":168
 * 
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 *         if result == CBS_OPERATION_RESULT_OK:             # <<<<<<<<<<<<<<
 *             self.state = AUTH_STATUS_OK
 *         else:
 */
  __pyx_t_1 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(__pyx_v_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_CBS_OPERATION_RESULT_OK); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(11, 168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_10) {

    /* "src/cbs.pyx":169
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 *         if result == CBS_OPERATION_RESULT_OK:
 *             self.state = AUTH_STATUS_OK             # <<<<<<<<<<<<<<
 *         else:
 *             self.state = AUTH_STATUS_ERROR
 */
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_OK); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 169, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_self->state = __pyx_t_11;

    /* "src/cbs.pyx":168
 * 
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 *         if result == CBS_OPERATION_RESULT_OK:             # <<<<<<<<<<<<<<
 *             self.state = AUTH_STATUS_OK
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/cbs.pyx":171
 *             self.state = AUTH_STATUS_OK
 *         else:
 *             self.state = AUTH_STATUS_ERROR             # <<<<<<<<<<<<<<
 *         self.token_status_code = status_code
 *         self.token_status_description = status_description
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_AUTH_STATUS_ERROR); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = ((enum __pyx_t_5c_cbs_AUTH_STATUS)__Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 171, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_self->state = __pyx_t_11;
  }
  __pyx_L3:;

  /* "src/cbs.pyx":172
 *         else:
 *             self.state = AUTH_STATUS_ERROR
 *         self.token_status_code = status_code             # <<<<<<<<<<<<<<
 *         self.token_status_description = status_description
 *         self.on_cbs_put_token_complete(result, status_code, status_description)
 */
  __pyx_v_self->token_status_code = __pyx_v_status_code;

  /* "src/cbs.pyx":173
 *             self.state = AUTH_STATUS_ERROR
 *         self.token_status_code = status_code
 *         self.token_status_description = status_description             # <<<<<<<<<<<<<<
 *         self.on_cbs_put_token_complete(result, status_code, status_description)
 * 
 */
  __pyx_v_self->token_status_description = __pyx_v_status_description;

  /* "src/cbs.pyx":174
 *         self.token_status_code = status_code
 *         self.token_status_description = status_description
 *         self.on_cbs_put_token_complete(result, status_code, status_description)             # <<<<<<<<<<<<<<
 * 
 *     cpdef on_cbs_put_token_complete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 */
  __pyx_t_6 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self->__pyx_vtab)->on_cbs_put_token_complete(__pyx_v_self, __pyx_v_result, __pyx_v_status_code, __pyx_v_status_description, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/cbs.pyx":167
 *         _logger.info("CBS error occurred on connection %r.", self.connection_id)
 * 
 *     cpdef _cbs_put_token_compelete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         if result == CBS_OPERATION_RESULT_OK:
 *             self.state = AUTH_STATUS_OK
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_put_token_compelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_33_cbs_put_token_compelete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_33_cbs_put_token_compelete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  enum CBS_OPERATION_RESULT_TAG __pyx_v_result;
  unsigned int __pyx_v_status_code;
  char const *__pyx_v_status_description;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_cbs_put_token_compelete (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_result,&__pyx_n_s_status_code,&__pyx_n_s_status_description,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_cbs_put_token_compelete", 1, 3, 3, 1); __PYX_ERR(11, 167, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_cbs_put_token_compelete", 1, 3, 3, 2); __PYX_ERR(11, 167, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_cbs_put_token_compelete") < 0)) __PYX_ERR(11, 167, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_result = ((enum CBS_OPERATION_RESULT_TAG)__Pyx_PyInt_As_enum__CBS_OPERATION_RESULT_TAG(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 167, __pyx_L3_error)
    __pyx_v_status_code = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_status_code == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(11, 167, __pyx_L3_error)
    __pyx_v_status_description = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_status_description) && PyErr_Occurred())) __PYX_ERR(11, 167, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_cbs_put_token_compelete", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 167, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_put_token_compelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_32_cbs_put_token_compelete(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), __pyx_v_result, __pyx_v_status_code, __pyx_v_status_description);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_32_cbs_put_token_compelete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_cbs_put_token_compelete", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_put_token_compelete(__pyx_v_self, __pyx_v_result, __pyx_v_status_code, __pyx_v_status_description, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth._cbs_put_token_compelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":176
 *         self.on_cbs_put_token_complete(result, status_code, status_description)
 * 
 *     cpdef on_cbs_put_token_complete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         _logger.info("Token put complete with result: %r, status: %r, description: %r, connection: %r", result, status_code, status_description, self.connection_id)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_35on_cbs_put_token_complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_put_token_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_put_token_complete", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_on_cbs_put_token_complete); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_35on_cbs_put_token_complete)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(__pyx_v_result); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_status_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 176, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 176, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 176, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_7) {
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 176, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/cbs.pyx":177
 * 
 *     cpdef on_cbs_put_token_complete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):
 *         _logger.info("Token put complete with result: %r, status: %r, description: %r, connection: %r", result, status_code, status_description, self.connection_id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyInt_From_unsigned_int(__pyx_v_status_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_status_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_self->connection_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_6)) {
    PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_kp_s_Token_put_complete_with_result_r, __pyx_t_2, __pyx_t_9, __pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 177, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
    PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_kp_s_Token_put_complete_with_result_r, __pyx_t_2, __pyx_t_9, __pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 177, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(5+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_3) {
      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_Token_put_complete_with_result_r);
    __Pyx_GIVEREF(__pyx_kp_s_Token_put_complete_with_result_r);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_kp_s_Token_put_complete_with_result_r);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_9);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_8, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_8, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_9 = 0;
    __pyx_t_5 = 0;
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/cbs.pyx":176
 *         self.on_cbs_put_token_complete(result, status_code, status_description)
 * 
 *     cpdef on_cbs_put_token_complete(self, c_cbs.CBS_OPERATION_RESULT_TAG result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *         _logger.info("Token put complete with result: %r, status: %r, description: %r, connection: %r", result, status_code, status_description, self.connection_id)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_put_token_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_35on_cbs_put_token_complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_35on_cbs_put_token_complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  enum CBS_OPERATION_RESULT_TAG __pyx_v_result;
  unsigned int __pyx_v_status_code;
  char const *__pyx_v_status_description;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("on_cbs_put_token_complete (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_result,&__pyx_n_s_status_code,&__pyx_n_s_status_description,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_code)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("on_cbs_put_token_complete", 1, 3, 3, 1); __PYX_ERR(11, 176, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("on_cbs_put_token_complete", 1, 3, 3, 2); __PYX_ERR(11, 176, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "on_cbs_put_token_complete") < 0)) __PYX_ERR(11, 176, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_result = ((enum CBS_OPERATION_RESULT_TAG)__Pyx_PyInt_As_enum__CBS_OPERATION_RESULT_TAG(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(11, 176, __pyx_L3_error)
    __pyx_v_status_code = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_status_code == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(11, 176, __pyx_L3_error)
    __pyx_v_status_description = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_status_description) && PyErr_Occurred())) __PYX_ERR(11, 176, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("on_cbs_put_token_complete", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 176, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_put_token_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_34on_cbs_put_token_complete(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), __pyx_v_result, __pyx_v_status_code, __pyx_v_status_description);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_34on_cbs_put_token_complete(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, enum CBS_OPERATION_RESULT_TAG __pyx_v_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_put_token_complete", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_put_token_complete(__pyx_v_self, __pyx_v_result, __pyx_v_status_code, __pyx_v_status_description, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.on_cbs_put_token_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_37__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_37__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_36__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_36__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_39__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_39__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_38__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_12CBSTokenAuth_38__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.CBSTokenAuth.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/cbs.pyx":182
 * #### Callbacks
 * 
 * cdef void on_cbs_open_complete(void *context, c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG open_complete_result):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_cbs_open_complete(void *__pyx_v_context, enum CBS_OPEN_COMPLETE_RESULT_TAG __pyx_v_open_complete_result) {
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_open_complete", 0);

  /* "src/cbs.pyx":183
 * 
 * cdef void on_cbs_open_complete(void *context, c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG open_complete_result):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((((void *)__pyx_v_context) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/cbs.pyx":184
 * cdef void on_cbs_open_complete(void *context, c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG open_complete_result):
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/cbs.pyx":185
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/cbs.pyx":186
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__109, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/cbs.pyx":187
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._cbs_open_complete(open_complete_result)
 */
      goto __pyx_L0;

      /* "src/cbs.pyx":185
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")
 *             return
 */
    }

    /* "src/cbs.pyx":188
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         context_obj._cbs_open_complete(open_complete_result)
 * 
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/cbs.pyx":189
 *             return
 *         context_obj = <object>context
 *         context_obj._cbs_open_complete(open_complete_result)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_cbs_open_complete); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(__pyx_v_open_complete_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 189, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 189, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 189, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 189, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 189, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/cbs.pyx":183
 * 
 * cdef void on_cbs_open_complete(void *context, c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG open_complete_result):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/cbs.pyx":182
 * #### Callbacks
 * 
 * cdef void on_cbs_open_complete(void *context, c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG open_complete_result):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_cbs_open_complete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/cbs.pyx":192
 * 
 * 
 * cdef void on_cbs_error(void* context):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_cbs_error(void *__pyx_v_context) {
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_error", 0);

  /* "src/cbs.pyx":193
 * 
 * cdef void on_cbs_error(void* context):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((((void *)__pyx_v_context) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/cbs.pyx":194
 * cdef void on_cbs_error(void* context):
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/cbs.pyx":195
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/cbs.pyx":196
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__110, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 196, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/cbs.pyx":197
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         context_obj._cbs_error()
 */
      goto __pyx_L0;

      /* "src/cbs.pyx":195
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")
 *             return
 */
    }

    /* "src/cbs.pyx":198
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         context_obj._cbs_error()
 * 
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/cbs.pyx":199
 *             return
 *         context_obj = <object>context
 *         context_obj._cbs_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_cbs_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 199, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 199, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/cbs.pyx":193
 * 
 * cdef void on_cbs_error(void* context):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/cbs.pyx":192
 * 
 * 
 * cdef void on_cbs_error(void* context):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_cbs_error", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/cbs.pyx":202
 * 
 * 
 * cdef void on_cbs_put_token_complete(void* context, c_cbs.CBS_OPERATION_RESULT_TAG complete_result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *     cdef unsigned int verified_status_code
 *     cdef const char* verified_description
 */

static void __pyx_f_5uamqp_7c_uamqp_on_cbs_put_token_complete(void *__pyx_v_context, enum CBS_OPERATION_RESULT_TAG __pyx_v_complete_result, unsigned int __pyx_v_status_code, char const *__pyx_v_status_description) {
  unsigned int __pyx_v_verified_status_code;
  char const *__pyx_v_verified_description;
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("on_cbs_put_token_complete", 0);

  /* "src/cbs.pyx":205
 *     cdef unsigned int verified_status_code
 *     cdef const char* verified_description
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((((void *)__pyx_v_context) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/cbs.pyx":206
 *     cdef const char* verified_description
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/cbs.pyx":207
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/cbs.pyx":208
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 208, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 208, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__111, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 208, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/cbs.pyx":209
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         try:
 */
      goto __pyx_L0;

      /* "src/cbs.pyx":207
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")
 *             return
 */
    }

    /* "src/cbs.pyx":210
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>status_code != NULL:
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/cbs.pyx":211
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>status_code != NULL:
 *                 verified_status_code = status_code
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/cbs.pyx":212
 *         context_obj = <object>context
 *         try:
 *             if <void*>status_code != NULL:             # <<<<<<<<<<<<<<
 *                 verified_status_code = status_code
 *             else:
 */
        __pyx_t_1 = ((((void *)__pyx_v_status_code) != NULL) != 0);
        if (__pyx_t_1) {

          /* "src/cbs.pyx":213
 *         try:
 *             if <void*>status_code != NULL:
 *                 verified_status_code = status_code             # <<<<<<<<<<<<<<
 *             else:
 *                 verified_status_code = 0
 */
          __pyx_v_verified_status_code = __pyx_v_status_code;

          /* "src/cbs.pyx":212
 *         context_obj = <object>context
 *         try:
 *             if <void*>status_code != NULL:             # <<<<<<<<<<<<<<
 *                 verified_status_code = status_code
 *             else:
 */
          goto __pyx_L11;
        }

        /* "src/cbs.pyx":215
 *                 verified_status_code = status_code
 *             else:
 *                 verified_status_code = 0             # <<<<<<<<<<<<<<
 *             if <void*>status_description != NULL:
 *                 verified_description = status_description
 */
        /*else*/ {
          __pyx_v_verified_status_code = 0;
        }
        __pyx_L11:;

        /* "src/cbs.pyx":216
 *             else:
 *                 verified_status_code = 0
 *             if <void*>status_description != NULL:             # <<<<<<<<<<<<<<
 *                 verified_description = status_description
 *             else:
 */
        __pyx_t_1 = ((((void *)__pyx_v_status_description) != NULL) != 0);
        if (__pyx_t_1) {

          /* "src/cbs.pyx":217
 *                 verified_status_code = 0
 *             if <void*>status_description != NULL:
 *                 verified_description = status_description             # <<<<<<<<<<<<<<
 *             else:
 *                 verified_description = b"CBS Session closed."
 */
          __pyx_v_verified_description = __pyx_v_status_description;

          /* "src/cbs.pyx":216
 *             else:
 *                 verified_status_code = 0
 *             if <void*>status_description != NULL:             # <<<<<<<<<<<<<<
 *                 verified_description = status_description
 *             else:
 */
          goto __pyx_L12;
        }

        /* "src/cbs.pyx":219
 *                 verified_description = status_description
 *             else:
 *                 verified_description = b"CBS Session closed."             # <<<<<<<<<<<<<<
 *             context_obj._cbs_put_token_compelete(complete_result, verified_status_code, verified_description)
 *         except KeyboardInterrupt:
 */
        /*else*/ {
          __pyx_v_verified_description = ((char const *)"CBS Session closed.");
        }
        __pyx_L12:;

        /* "src/cbs.pyx":220
 *             else:
 *                 verified_description = b"CBS Session closed."
 *             context_obj._cbs_put_token_compelete(complete_result, verified_status_code, verified_description)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             context_obj._cbs_put_token_compelete(
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_cbs_put_token_compelete); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 220, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_7 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(__pyx_v_complete_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 220, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = __Pyx_PyInt_From_unsigned_int(__pyx_v_verified_status_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 220, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = __Pyx_PyBytes_FromString(__pyx_v_verified_description); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 220, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = NULL;
        __pyx_t_11 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_11 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_7, __pyx_t_8, __pyx_t_9};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 220, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_7, __pyx_t_8, __pyx_t_9};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 220, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        {
          __pyx_t_12 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(11, 220, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_12);
          if (__pyx_t_10) {
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_8);
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_11, __pyx_t_9);
          __pyx_t_7 = 0;
          __pyx_t_8 = 0;
          __pyx_t_9 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 220, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/cbs.pyx":211
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>status_code != NULL:
 *                 verified_status_code = status_code
 */
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L10_try_end;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/cbs.pyx":221
 *                 verified_description = b"CBS Session closed."
 *             context_obj._cbs_put_token_compelete(complete_result, verified_status_code, verified_description)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             context_obj._cbs_put_token_compelete(
 *                 CBS_OPERATION_RESULT_INSTANCE_CLOSED, 1, b"Client shutdown with keyboard interrupt.")
 */
      __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_11) {
        __Pyx_AddTraceback("uamqp.c_uamqp.on_cbs_put_token_complete", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_12) < 0) __PYX_ERR(11, 221, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GOTREF(__pyx_t_12);

        /* "src/cbs.pyx":222
 *             context_obj._cbs_put_token_compelete(complete_result, verified_status_code, verified_description)
 *         except KeyboardInterrupt:
 *             context_obj._cbs_put_token_compelete(             # <<<<<<<<<<<<<<
 *                 CBS_OPERATION_RESULT_INSTANCE_CLOSED, 1, b"Client shutdown with keyboard interrupt.")
 */
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_cbs_put_token_compelete); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 222, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_8);

        /* "src/cbs.pyx":223
 *         except KeyboardInterrupt:
 *             context_obj._cbs_put_token_compelete(
 *                 CBS_OPERATION_RESULT_INSTANCE_CLOSED, 1, b"Client shutdown with keyboard interrupt.")             # <<<<<<<<<<<<<<
 */
        __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_CBS_OPERATION_RESULT_INSTANCE_CL); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 223, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_10 = NULL;
        __pyx_t_11 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_8, function);
            __pyx_t_11 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_8)) {
          PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_7, __pyx_int_1, __pyx_kp_b_Client_shutdown_with_keyboard_in};
          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 222, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
          PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_7, __pyx_int_1, __pyx_kp_b_Client_shutdown_with_keyboard_in};
          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 222, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(11, 222, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__pyx_t_10) {
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_11, __pyx_t_7);
          __Pyx_INCREF(__pyx_int_1);
          __Pyx_GIVEREF(__pyx_int_1);
          PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_11, __pyx_int_1);
          __Pyx_INCREF(__pyx_kp_b_Client_shutdown_with_keyboard_in);
          __Pyx_GIVEREF(__pyx_kp_b_Client_shutdown_with_keyboard_in);
          PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_11, __pyx_kp_b_Client_shutdown_with_keyboard_in);
          __pyx_t_7 = 0;
          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 222, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L6_exception_handled;
      }
      goto __pyx_L7_except_error;
      __pyx_L7_except_error:;

      /* "src/cbs.pyx":211
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>status_code != NULL:
 *                 verified_status_code = status_code
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L6_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_L10_try_end:;
    }

    /* "src/cbs.pyx":205
 *     cdef unsigned int verified_status_code
 *     cdef const char* verified_description
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/cbs.pyx":202
 * 
 * 
 * cdef void on_cbs_put_token_complete(void* context, c_cbs.CBS_OPERATION_RESULT_TAG complete_result, unsigned int status_code, const char* status_description):             # <<<<<<<<<<<<<<
 *     cdef unsigned int verified_status_code
 *     cdef const char* verified_description
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_cbs_put_token_complete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/connection.pyx":21
 * 
 * 
 * cpdef create_connection(XIO sasl_client, const char* hostname, const char* container_id, callback_context):             # <<<<<<<<<<<<<<
 *     conn = Connection()
 *     conn.create(sasl_client, hostname, container_id, on_connection_state_changed, on_io_error, <void*>callback_context)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_71create_connection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_connection(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client, char const *__pyx_v_hostname, char const *__pyx_v_container_id, PyObject *__pyx_v_callback_context, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_conn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_connection", 0);

  /* "src/connection.pyx":22
 * 
 * cpdef create_connection(XIO sasl_client, const char* hostname, const char* container_id, callback_context):
 *     conn = Connection()             # <<<<<<<<<<<<<<
 *     conn.create(sasl_client, hostname, container_id, on_connection_state_changed, on_io_error, <void*>callback_context)
 *     return conn
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Connection)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_conn = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/connection.pyx":23
 * cpdef create_connection(XIO sasl_client, const char* hostname, const char* container_id, callback_context):
 *     conn = Connection()
 *     conn.create(sasl_client, hostname, container_id, on_connection_state_changed, on_io_error, <void*>callback_context)             # <<<<<<<<<<<<<<
 *     return conn
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_conn->__pyx_vtab)->create(__pyx_v_conn, __pyx_v_sasl_client, __pyx_v_hostname, __pyx_v_container_id, __pyx_f_5uamqp_7c_uamqp_on_connection_state_changed, __pyx_f_5uamqp_7c_uamqp_on_io_error, ((void *)__pyx_v_callback_context)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":24
 *     conn = Connection()
 *     conn.create(sasl_client, hostname, container_id, on_connection_state_changed, on_io_error, <void*>callback_context)
 *     return conn             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_conn));
  __pyx_r = ((PyObject *)__pyx_v_conn);
  goto __pyx_L0;

  /* "src/connection.pyx":21
 * 
 * 
 * cpdef create_connection(XIO sasl_client, const char* hostname, const char* container_id, callback_context):             # <<<<<<<<<<<<<<
 *     conn = Connection()
 *     conn.create(sasl_client, hostname, container_id, on_connection_state_changed, on_io_error, <void*>callback_context)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_connection", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_71create_connection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_71create_connection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client = 0;
  char const *__pyx_v_hostname;
  char const *__pyx_v_container_id;
  PyObject *__pyx_v_callback_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_connection (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sasl_client,&__pyx_n_s_hostname,&__pyx_n_s_container_id,&__pyx_n_s_callback_context,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sasl_client)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hostname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_connection", 1, 4, 4, 1); __PYX_ERR(6, 21, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_container_id)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_connection", 1, 4, 4, 2); __PYX_ERR(6, 21, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_connection", 1, 4, 4, 3); __PYX_ERR(6, 21, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_connection") < 0)) __PYX_ERR(6, 21, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_sasl_client = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)values[0]);
    __pyx_v_hostname = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_hostname) && PyErr_Occurred())) __PYX_ERR(6, 21, __pyx_L3_error)
    __pyx_v_container_id = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_container_id) && PyErr_Occurred())) __PYX_ERR(6, 21, __pyx_L3_error)
    __pyx_v_callback_context = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_connection", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 21, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_connection", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sasl_client), __pyx_ptype_5uamqp_7c_uamqp_XIO, 1, "sasl_client", 0))) __PYX_ERR(6, 21, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_70create_connection(__pyx_self, __pyx_v_sasl_client, __pyx_v_hostname, __pyx_v_container_id, __pyx_v_callback_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_70create_connection(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client, char const *__pyx_v_hostname, char const *__pyx_v_container_id, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_connection", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_connection(__pyx_v_sasl_client, __pyx_v_hostname, __pyx_v_container_id, __pyx_v_callback_context, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_connection", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":52
 *     cdef XIO _sasl_client
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10Connection___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":55
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating Connection")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_10Connection_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_10Connection_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_10Connection_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_10Connection_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/connection.pyx":56
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating Connection")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__112, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":57
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating Connection")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __enter__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":55
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating Connection")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.Connection.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/connection.pyx":59
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_4__enter__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__", 0);

  /* "src/connection.pyx":60
 * 
 *     def __enter__(self):
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __exit__(self, *args):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "src/connection.pyx":59
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":62
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_6__exit__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__exit__", 0);

  /* "src/connection.pyx":63
 * 
 *     def __exit__(self, *args):
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":62
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":65
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection__create(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/connection.pyx":66
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":67
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 67, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 67, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 67, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":66
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/connection.pyx":65
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":69
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying Connection")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_destroy(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_9destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 69, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 69, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":70
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying Connection")
 *             c_connection.connection_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/connection.pyx":71
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying Connection")             # <<<<<<<<<<<<<<
 *             c_connection.connection_destroy(self._c_value)
 *             self._c_value = <c_connection.CONNECTION_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__113, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/connection.pyx":72
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying Connection")
 *             c_connection.connection_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_connection.CONNECTION_HANDLE>NULL
 *             self._sasl_client = None
 */
    connection_destroy(__pyx_v_self->_c_value);

    /* "src/connection.pyx":73
 *             _logger.debug("Destroying Connection")
 *             c_connection.connection_destroy(self._c_value)
 *             self._c_value = <c_connection.CONNECTION_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._sasl_client = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/connection.pyx":74
 *             c_connection.connection_destroy(self._c_value)
 *             self._c_value = <c_connection.CONNECTION_HANDLE>NULL
 *             self._sasl_client = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, Connection value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_sasl_client);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_sasl_client));
    __pyx_v_self->_sasl_client = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)Py_None);

    /* "src/connection.pyx":70
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying Connection")
 *             c_connection.connection_destroy(self._c_value)
 */
  }

  /* "src/connection.pyx":69
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying Connection")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_8destroy(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":76
 *             self._sasl_client = None
 * 
 *     cdef wrap(self, Connection value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._sasl_client = value._sasl_client
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_wrap(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CONNECTION_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/connection.pyx":77
 * 
 *     cdef wrap(self, Connection value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._sasl_client = value._sasl_client
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":78
 *     cdef wrap(self, Connection value):
 *         self.destroy()
 *         self._sasl_client = value._sasl_client             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._create()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_value->_sasl_client);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_sasl_client);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_sasl_client));
  __pyx_v_self->_sasl_client = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/connection.pyx":79
 *         self.destroy()
 *         self._sasl_client = value._sasl_client
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/connection.pyx":80
 *         self._sasl_client = value._sasl_client
 *         self._c_value = value._c_value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, XIO sasl_client, const char* hostname, const char* container_id, c_connection.ON_CONNECTION_STATE_CHANGED on_connection_state_changed, c_xio.ON_IO_ERROR on_io_error, void* callback_context):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":76
 *             self._sasl_client = None
 * 
 *     cdef wrap(self, Connection value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._sasl_client = value._sasl_client
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":82
 *         self._create()
 * 
 *     cdef create(self, XIO sasl_client, const char* hostname, const char* container_id, c_connection.ON_CONNECTION_STATE_CHANGED on_connection_state_changed, c_xio.ON_IO_ERROR on_io_error, void* callback_context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._sasl_client = sasl_client
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_create(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_sasl_client, char const *__pyx_v_hostname, char const *__pyx_v_container_id, ON_CONNECTION_STATE_CHANGED __pyx_v_on_connection_state_changed, ON_IO_ERROR __pyx_v_on_io_error, void *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/connection.pyx":83
 * 
 *     cdef create(self, XIO sasl_client, const char* hostname, const char* container_id, c_connection.ON_CONNECTION_STATE_CHANGED on_connection_state_changed, c_xio.ON_IO_ERROR on_io_error, void* callback_context):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._sasl_client = sasl_client
 *         self._c_value = c_connection.connection_create2(sasl_client._c_value, hostname, container_id, NULL, NULL, on_connection_state_changed, callback_context, on_io_error, callback_context)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":84
 *     cdef create(self, XIO sasl_client, const char* hostname, const char* container_id, c_connection.ON_CONNECTION_STATE_CHANGED on_connection_state_changed, c_xio.ON_IO_ERROR on_io_error, void* callback_context):
 *         self.destroy()
 *         self._sasl_client = sasl_client             # <<<<<<<<<<<<<<
 *         self._c_value = c_connection.connection_create2(sasl_client._c_value, hostname, container_id, NULL, NULL, on_connection_state_changed, callback_context, on_io_error, callback_context)
 *         self._create()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_sasl_client));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_sasl_client));
  __Pyx_GOTREF(__pyx_v_self->_sasl_client);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_sasl_client));
  __pyx_v_self->_sasl_client = __pyx_v_sasl_client;

  /* "src/connection.pyx":85
 *         self.destroy()
 *         self._sasl_client = sasl_client
 *         self._c_value = c_connection.connection_create2(sasl_client._c_value, hostname, container_id, NULL, NULL, on_connection_state_changed, callback_context, on_io_error, callback_context)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = connection_create2(__pyx_v_sasl_client->_c_value, __pyx_v_hostname, __pyx_v_container_id, NULL, NULL, __pyx_v_on_connection_state_changed, __pyx_v_callback_context, __pyx_v_on_io_error, __pyx_v_callback_context);

  /* "src/connection.pyx":86
 *         self._sasl_client = sasl_client
 *         self._c_value = c_connection.connection_create2(sasl_client._c_value, hostname, container_id, NULL, NULL, on_connection_state_changed, callback_context, on_io_error, callback_context)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":82
 *         self._create()
 * 
 *     cdef create(self, XIO sasl_client, const char* hostname, const char* container_id, c_connection.ON_CONNECTION_STATE_CHANGED on_connection_state_changed, c_xio.ON_IO_ERROR on_io_error, void* callback_context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._sasl_client = sasl_client
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":88
 *         self._create()
 * 
 *     cpdef open(self):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_open(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_11open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_open(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("open", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_11open)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 88, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 88, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":89
 * 
 *     cpdef open(self):
 *         if c_connection.connection_open(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_5 = ((connection_open(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/connection.pyx":90
 *     cpdef open(self):
 *         if c_connection.connection_open(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self, const char* condition_value, const char* description):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 90, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 90, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/connection.pyx":89
 * 
 *     cpdef open(self):
 *         if c_connection.connection_open(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":88
 *         self._create()
 * 
 *     cpdef open(self):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_open(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_11open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_11open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("open (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_10open(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_10open(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("open", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_open(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":92
 *             self._value_error()
 * 
 *     cpdef close(self, const char* condition_value, const char* description):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_close(self._c_value, condition_value, description, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_13close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_close(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  __Pyx_RefNannySetupContext("close", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_13close)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_condition_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 92, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_description); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 92, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 92, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 92, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 92, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 92, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":93
 * 
 *     cpdef close(self, const char* condition_value, const char* description):
 *         if c_connection.connection_close(self._c_value, condition_value, description, <c_amqpvalue.AMQP_VALUE>NULL) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_9 = ((connection_close(__pyx_v_self->_c_value, __pyx_v_condition_value, __pyx_v_description, NULL) != 0) != 0);
  if (__pyx_t_9) {

    /* "src/connection.pyx":94
 *     cpdef close(self, const char* condition_value, const char* description):
 *         if c_connection.connection_close(self._c_value, condition_value, description, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint value):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 94, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 94, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/connection.pyx":93
 * 
 *     cpdef close(self, const char* condition_value, const char* description):
 *         if c_connection.connection_close(self._c_value, condition_value, description, <c_amqpvalue.AMQP_VALUE>NULL) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":92
 *             self._value_error()
 * 
 *     cpdef close(self, const char* condition_value, const char* description):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_close(self._c_value, condition_value, description, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_13close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_13close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_condition_value;
  char const *__pyx_v_description;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_condition_value,&__pyx_n_s_description,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_condition_value)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("close", 1, 2, 2, 1); __PYX_ERR(6, 92, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "close") < 0)) __PYX_ERR(6, 92, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_condition_value = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_condition_value) && PyErr_Occurred())) __PYX_ERR(6, 92, __pyx_L3_error)
    __pyx_v_description = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_description) && PyErr_Occurred())) __PYX_ERR(6, 92, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("close", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 92, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_12close(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), __pyx_v_condition_value, __pyx_v_description);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_12close(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("close", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_close(__pyx_v_self, __pyx_v_condition_value, __pyx_v_description, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 92, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":96
 *             self._value_error()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_connection.connection_set_trace(self._c_value, value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_15set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_15set_trace)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 96, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 96, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 96, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":97
 * 
 *     cpdef set_trace(self, bint value):
 *         c_connection.connection_set_trace(self._c_value, value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef do_work(self):
 */
  connection_set_trace(__pyx_v_self->_c_value, __pyx_v_value);

  /* "src/connection.pyx":96
 *             self._value_error()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_connection.connection_set_trace(self._c_value, value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_15set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_15set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_trace (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 96, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_14set_trace(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_14set_trace(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_set_trace(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":99
 *         c_connection.connection_set_trace(self._c_value, value)
 * 
 *     cpdef do_work(self):             # <<<<<<<<<<<<<<
 *         c_connection.connection_dowork(self._c_value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_17do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_do_work(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("do_work", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_work); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_17do_work)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 99, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 99, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":100
 * 
 *     cpdef do_work(self):
 *         c_connection.connection_dowork(self._c_value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef subscribe_to_close_event(self, on_close_received):
 */
  connection_dowork(__pyx_v_self->_c_value);

  /* "src/connection.pyx":99
 *         c_connection.connection_set_trace(self._c_value, value)
 * 
 *     cpdef do_work(self):             # <<<<<<<<<<<<<<
 *         c_connection.connection_dowork(self._c_value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.do_work", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_17do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_17do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("do_work (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_16do_work(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_16do_work(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("do_work", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_do_work(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.do_work", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":102
 *         c_connection.connection_dowork(self._c_value)
 * 
 *     cpdef subscribe_to_close_event(self, on_close_received):             # <<<<<<<<<<<<<<
 *         self._close_event = c_connection.connection_subscribe_on_connection_close_received(
 *             self._c_value,
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_19subscribe_to_close_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_close_received); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_subscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, PyObject *__pyx_v_on_close_received, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("subscribe_to_close_event", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_subscribe_to_close_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_19subscribe_to_close_event)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_on_close_received); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 102, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_on_close_received};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 102, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_on_close_received};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 102, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 102, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_on_close_received);
          __Pyx_GIVEREF(__pyx_v_on_close_received);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_on_close_received);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 102, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":103
 * 
 *     cpdef subscribe_to_close_event(self, on_close_received):
 *         self._close_event = c_connection.connection_subscribe_on_connection_close_received(             # <<<<<<<<<<<<<<
 *             self._c_value,
 *             <c_connection.ON_CONNECTION_CLOSE_RECEIVED>on_connection_close_received,
 */
  __pyx_v_self->_close_event = connection_subscribe_on_connection_close_received(__pyx_v_self->_c_value, ((ON_CONNECTION_CLOSE_RECEIVED)__pyx_f_5uamqp_7c_uamqp_on_connection_close_received), ((void *)__pyx_v_on_close_received));

  /* "src/connection.pyx":107
 *             <c_connection.ON_CONNECTION_CLOSE_RECEIVED>on_connection_close_received,
 *             <void*>on_close_received)
 *         if <void*>self._close_event == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to register CLOSE event handler.")
 * 
 */
  __pyx_t_6 = ((((void *)__pyx_v_self->_close_event) == NULL) != 0);
  if (__pyx_t_6) {

    /* "src/connection.pyx":108
 *             <void*>on_close_received)
 *         if <void*>self._close_event == NULL:
 *             self._value_error("Unable to register CLOSE event handler.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef unsubscribe_to_close_event(self):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__114, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":107
 *             <c_connection.ON_CONNECTION_CLOSE_RECEIVED>on_connection_close_received,
 *             <void*>on_close_received)
 *         if <void*>self._close_event == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to register CLOSE event handler.")
 * 
 */
  }

  /* "src/connection.pyx":102
 *         c_connection.connection_dowork(self._c_value)
 * 
 *     cpdef subscribe_to_close_event(self, on_close_received):             # <<<<<<<<<<<<<<
 *         self._close_event = c_connection.connection_subscribe_on_connection_close_received(
 *             self._c_value,
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.subscribe_to_close_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_19subscribe_to_close_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_close_received); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_19subscribe_to_close_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_close_received) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subscribe_to_close_event (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_18subscribe_to_close_event(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((PyObject *)__pyx_v_on_close_received));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_18subscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, PyObject *__pyx_v_on_close_received) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("subscribe_to_close_event", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_subscribe_to_close_event(__pyx_v_self, __pyx_v_on_close_received, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.subscribe_to_close_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":110
 *             self._value_error("Unable to register CLOSE event handler.")
 * 
 *     cpdef unsubscribe_to_close_event(self):             # <<<<<<<<<<<<<<
 *         c_connection.connection_unsubscribe_on_connection_close_received(self._close_event)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_21unsubscribe_to_close_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10Connection_unsubscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("unsubscribe_to_close_event", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_unsubscribe_to_close_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_21unsubscribe_to_close_event)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 110, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 110, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/connection.pyx":111
 * 
 *     cpdef unsubscribe_to_close_event(self):
 *         c_connection.connection_unsubscribe_on_connection_close_received(self._close_event)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  connection_unsubscribe_on_connection_close_received(__pyx_v_self->_close_event);

  /* "src/connection.pyx":110
 *             self._value_error("Unable to register CLOSE event handler.")
 * 
 *     cpdef unsubscribe_to_close_event(self):             # <<<<<<<<<<<<<<
 *         c_connection.connection_unsubscribe_on_connection_close_received(self._close_event)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.unsubscribe_to_close_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_21unsubscribe_to_close_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_21unsubscribe_to_close_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unsubscribe_to_close_event (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_20unsubscribe_to_close_event(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_20unsubscribe_to_close_event(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("unsubscribe_to_close_event", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10Connection_unsubscribe_to_close_event(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.unsubscribe_to_close_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":114
 * 
 *     @property
 *     def max_frame_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/connection.pyx":116
 *     def max_frame_size(self):
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((connection_get_max_frame_size(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":117
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":118
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/connection.pyx":117
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/connection.pyx":119
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/connection.pyx":116
 *     def max_frame_size(self):
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/connection.pyx":121
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @max_frame_size.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 121, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 121, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/connection.pyx":114
 * 
 *     @property
 *     def max_frame_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_max_frame_size(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.max_frame_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":124
 * 
 *     @max_frame_size.setter
 *     def max_frame_size(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_max_frame_size(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(6, 124, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.max_frame_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10Connection_14max_frame_size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, uint32_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/connection.pyx":125
 *     @max_frame_size.setter
 *     def max_frame_size(self, stdint.uint32_t value):
 *         if c_connection.connection_set_max_frame_size(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((connection_set_max_frame_size(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":126
 *     def max_frame_size(self, stdint.uint32_t value):
 *         if c_connection.connection_set_max_frame_size(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 126, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 126, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":125
 *     @max_frame_size.setter
 *     def max_frame_size(self, stdint.uint32_t value):
 *         if c_connection.connection_set_max_frame_size(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":124
 * 
 *     @max_frame_size.setter
 *     def max_frame_size(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_max_frame_size(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.max_frame_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":129
 * 
 *     @property
 *     def channel_max(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max___get__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  uint16_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/connection.pyx":131
 *     def channel_max(self):
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((connection_get_channel_max(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":132
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":133
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/connection.pyx":132
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/connection.pyx":134
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint16_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/connection.pyx":131
 *     def channel_max(self):
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/connection.pyx":136
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @channel_max.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 136, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 136, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/connection.pyx":129
 * 
 *     @property
 *     def channel_max(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint16_t _value
 *         if c_connection.connection_get_channel_max(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.channel_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":139
 * 
 *     @channel_max.setter
 *     def channel_max(self, stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_channel_max(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint16_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint16_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(6, 139, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.channel_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((uint16_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10Connection_11channel_max_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, uint16_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/connection.pyx":140
 *     @channel_max.setter
 *     def channel_max(self, stdint.uint16_t value):
 *         if c_connection.connection_set_channel_max(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((connection_set_channel_max(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":141
 *     def channel_max(self, stdint.uint16_t value):
 *         if c_connection.connection_set_channel_max(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 141, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 141, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":140
 *     @channel_max.setter
 *     def channel_max(self, stdint.uint16_t value):
 *         if c_connection.connection_set_channel_max(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":139
 * 
 *     @channel_max.setter
 *     def channel_max(self, stdint.uint16_t value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_channel_max(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.channel_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":144
 * 
 *     @property
 *     def idle_timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout___get__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  milliseconds __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/connection.pyx":146
 *     def idle_timeout(self):
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((connection_get_idle_timeout(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":147
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":148
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/connection.pyx":147
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/connection.pyx":149
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/connection.pyx":146
 *     def idle_timeout(self):
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/connection.pyx":151
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @idle_timeout.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 151, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 151, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/connection.pyx":144
 * 
 *     @property
 *     def idle_timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_connection.connection_get_idle_timeout(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.idle_timeout.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":154
 * 
 *     @idle_timeout.setter
 *     def idle_timeout(self, c_amqp_definitions.milliseconds value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_idle_timeout(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  milliseconds __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((milliseconds)-1)) && PyErr_Occurred())) __PYX_ERR(6, 154, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.idle_timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((milliseconds)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10Connection_12idle_timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, milliseconds __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/connection.pyx":155
 *     @idle_timeout.setter
 *     def idle_timeout(self, c_amqp_definitions.milliseconds value):
 *         if c_connection.connection_set_idle_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((connection_set_idle_timeout(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":156
 *     def idle_timeout(self, c_amqp_definitions.milliseconds value):
 *         if c_connection.connection_set_idle_timeout(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 156, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 156, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":155
 *     @idle_timeout.setter
 *     def idle_timeout(self, c_amqp_definitions.milliseconds value):
 *         if c_connection.connection_set_idle_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":154
 * 
 *     @idle_timeout.setter
 *     def idle_timeout(self, c_amqp_definitions.milliseconds value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_idle_timeout(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.idle_timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":159
 * 
 *     @property
 *     def properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_10properties___get__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_10properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  fields __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/connection.pyx":161
 *     def properties(self):
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((connection_get_properties(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":162
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return value_factory(_value)
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":163
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return value_factory(_value)
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/connection.pyx":162
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return value_factory(_value)
 */
    }

    /* "src/connection.pyx":164
 *             if <void*>_value == NULL:
 *                 return None
 *             return value_factory(_value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/connection.pyx":161
 *     def properties(self):
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/connection.pyx":166
 *             return value_factory(_value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @properties.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 166, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 166, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/connection.pyx":159
 * 
 *     @property
 *     def properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.fields _value
 *         if c_connection.connection_get_properties(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.properties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":169
 * 
 *     @properties.setter
 *     def properties(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_properties(self._c_value, <c_amqp_definitions.fields>value._c_value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(6, 169, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_10properties_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10Connection_10properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/connection.pyx":170
 *     @properties.setter
 *     def properties(self, AMQPValue value):
 *         if c_connection.connection_set_properties(self._c_value, <c_amqp_definitions.fields>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((connection_set_properties(__pyx_v_self->_c_value, ((fields)__pyx_v_value->_c_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":171
 *     def properties(self, AMQPValue value):
 *         if c_connection.connection_set_properties(self._c_value, <c_amqp_definitions.fields>value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 171, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 171, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/connection.pyx":170
 *     @properties.setter
 *     def properties(self, AMQPValue value):
 *         if c_connection.connection_set_properties(self._c_value, <c_amqp_definitions.fields>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/connection.pyx":169
 * 
 *     @properties.setter
 *     def properties(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_connection.connection_set_properties(self._c_value, <c_amqp_definitions.fields>value._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.properties.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":174
 * 
 *     @property
 *     def remote_max_frame_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/connection.pyx":176
 *     def remote_max_frame_size(self):
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((connection_get_remote_max_frame_size(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":177
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":178
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/connection.pyx":177
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/connection.pyx":179
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/connection.pyx":176
 *     def remote_max_frame_size(self):
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/connection.pyx":181
 *             return _value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 181, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 181, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/connection.pyx":174
 * 
 *     @property
 *     def remote_max_frame_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_connection.connection_get_remote_max_frame_size(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.remote_max_frame_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_22__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10Connection_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10Connection_24__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10Connection_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__116, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Connection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/connection.pyx":186
 * #### Callback
 * 
 * cdef void on_connection_state_changed(void* context, c_connection.CONNECTION_STATE_TAG new_connection_state, c_connection.CONNECTION_STATE_TAG previous_connection_state):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_connection_state_changed(void *__pyx_v_context, enum CONNECTION_STATE_TAG __pyx_v_new_connection_state, enum CONNECTION_STATE_TAG __pyx_v_previous_connection_state) {
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("on_connection_state_changed", 0);

  /* "src/connection.pyx":187
 * 
 * cdef void on_connection_state_changed(void* context, c_connection.CONNECTION_STATE_TAG new_connection_state, c_connection.CONNECTION_STATE_TAG previous_connection_state):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((((void *)__pyx_v_context) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":188
 * cdef void on_connection_state_changed(void* context, c_connection.CONNECTION_STATE_TAG new_connection_state, c_connection.CONNECTION_STATE_TAG previous_connection_state):
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/connection.pyx":189
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/connection.pyx":190
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__117, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/connection.pyx":191
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         try:
 */
      goto __pyx_L0;

      /* "src/connection.pyx":189
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")
 *             return
 */
    }

    /* "src/connection.pyx":192
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         try:
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/connection.pyx":193
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 *         except AttributeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/connection.pyx":194
 *         context_obj = <object>context
 *         try:
 *             context_obj._state_changed(previous_connection_state, new_connection_state)             # <<<<<<<<<<<<<<
 *         except AttributeError:
 *             _logger.info("Unknown connection state changed: %r to %r", previous_connection_state, new_connection_state)
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_state_changed); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 194, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_7 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(__pyx_v_previous_connection_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 194, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(__pyx_v_new_connection_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 194, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 194, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 194, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        {
          __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 194, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_11);
          if (__pyx_t_9) {
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_8);
          __pyx_t_7 = 0;
          __pyx_t_8 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 194, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/connection.pyx":193
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 *         except AttributeError:
 */
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L10_try_end;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/connection.pyx":195
 *         try:
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 *         except AttributeError:             # <<<<<<<<<<<<<<
 *             _logger.info("Unknown connection state changed: %r to %r", previous_connection_state, new_connection_state)
 * 
 */
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("uamqp.c_uamqp.on_connection_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_11) < 0) __PYX_ERR(6, 195, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GOTREF(__pyx_t_11);

        /* "src/connection.pyx":196
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 *         except AttributeError:
 *             _logger.info("Unknown connection state changed: %r to %r", previous_connection_state, new_connection_state)             # <<<<<<<<<<<<<<
 * 
 * 
 */
        __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 196, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 196, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(__pyx_v_previous_connection_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 196, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(__pyx_v_new_connection_state); if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 196, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_13 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_13)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_13);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_connection_state_changed, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 196, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_connection_state_changed, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 196, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        {
          __pyx_t_14 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(6, 196, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_14);
          if (__pyx_t_13) {
            __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
          }
          __Pyx_INCREF(__pyx_kp_s_Unknown_connection_state_changed);
          __Pyx_GIVEREF(__pyx_kp_s_Unknown_connection_state_changed);
          PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_10, __pyx_kp_s_Unknown_connection_state_changed);
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_10, __pyx_t_12);
          __pyx_t_7 = 0;
          __pyx_t_12 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 196, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L6_exception_handled;
      }
      goto __pyx_L7_except_error;
      __pyx_L7_except_error:;

      /* "src/connection.pyx":193
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_connection_state, new_connection_state)
 *         except AttributeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L6_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_L10_try_end:;
    }

    /* "src/connection.pyx":187
 * 
 * cdef void on_connection_state_changed(void* context, c_connection.CONNECTION_STATE_TAG new_connection_state, c_connection.CONNECTION_STATE_TAG previous_connection_state):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/connection.pyx":186
 * #### Callback
 * 
 * cdef void on_connection_state_changed(void* context, c_connection.CONNECTION_STATE_TAG new_connection_state, c_connection.CONNECTION_STATE_TAG previous_connection_state):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_pyobj = <PyObject*>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_connection_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/connection.pyx":199
 * 
 * 
 * cdef void on_io_error(void* context):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_obj = <object>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_io_error(void *__pyx_v_context) {
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("on_io_error", 0);

  /* "src/connection.pyx":200
 * 
 * cdef void on_io_error(void* context):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_io_error'):
 */
  __pyx_t_1 = ((((void *)__pyx_v_context) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/connection.pyx":201
 * cdef void on_io_error(void* context):
 *     if <void*>context != NULL:
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         if hasattr(context_obj, '_io_error'):
 *             context_obj._io_error()
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/connection.pyx":202
 *     if <void*>context != NULL:
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_io_error'):             # <<<<<<<<<<<<<<
 *             context_obj._io_error()
 * 
 */
    __pyx_t_1 = __Pyx_HasAttr(__pyx_v_context_obj, __pyx_n_s_io_error); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 202, __pyx_L1_error)
    __pyx_t_3 = (__pyx_t_1 != 0);
    if (__pyx_t_3) {

      /* "src/connection.pyx":203
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_io_error'):
 *             context_obj._io_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_io_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 203, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 203, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 203, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/connection.pyx":202
 *     if <void*>context != NULL:
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_io_error'):             # <<<<<<<<<<<<<<
 *             context_obj._io_error()
 * 
 */
    }

    /* "src/connection.pyx":200
 * 
 * cdef void on_io_error(void* context):
 *     if <void*>context != NULL:             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_io_error'):
 */
  }

  /* "src/connection.pyx":199
 * 
 * 
 * cdef void on_io_error(void* context):             # <<<<<<<<<<<<<<
 *     if <void*>context != NULL:
 *         context_obj = <object>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_io_error", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/connection.pyx":206
 * 
 * 
 * cdef void on_connection_close_received(void* context, c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_connection_close_received(void *__pyx_v_context, ERROR_HANDLE __pyx_v_error) {
  ERROR_HANDLE __pyx_v_cloned;
  PyObject *__pyx_v_context_obj = NULL;
  PyObject *__pyx_v_wrapped_error = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("on_connection_close_received", 0);

  /* "src/connection.pyx":208
 * cdef void on_connection_close_received(void* context, c_amqp_definitions.ERROR_HANDLE error):
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context             # <<<<<<<<<<<<<<
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_context_obj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/connection.pyx":209
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 *     if <void*> error != NULL:             # <<<<<<<<<<<<<<
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)
 */
  __pyx_t_2 = ((((void *)__pyx_v_error) != NULL) != 0);
  if (__pyx_t_2) {

    /* "src/connection.pyx":210
 *     context_obj = <object>context
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)             # <<<<<<<<<<<<<<
 *         wrapped_error = error_factory(cloned)
 *     else:
 */
    __pyx_v_cloned = error_clone(__pyx_v_error);

    /* "src/connection.pyx":211
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)             # <<<<<<<<<<<<<<
 *     else:
 *         wrapped_error = None
 */
    __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_error_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_wrapped_error = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/connection.pyx":209
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 *     if <void*> error != NULL:             # <<<<<<<<<<<<<<
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)
 */
    goto __pyx_L3;
  }

  /* "src/connection.pyx":213
 *         wrapped_error = error_factory(cloned)
 *     else:
 *         wrapped_error = None             # <<<<<<<<<<<<<<
 *     if hasattr(context_obj, '_close_received'):
 *         context_obj._close_received(wrapped_error)
 */
  /*else*/ {
    __Pyx_INCREF(Py_None);
    __pyx_v_wrapped_error = Py_None;
  }
  __pyx_L3:;

  /* "src/connection.pyx":214
 *     else:
 *         wrapped_error = None
 *     if hasattr(context_obj, '_close_received'):             # <<<<<<<<<<<<<<
 *         context_obj._close_received(wrapped_error)
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_context_obj, __pyx_n_s_close_received); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 214, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "src/connection.pyx":215
 *         wrapped_error = None
 *     if hasattr(context_obj, '_close_received'):
 *         context_obj._close_received(wrapped_error)             # <<<<<<<<<<<<<<
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_close_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_wrapped_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_error};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 215, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_error};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 215, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 215, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_wrapped_error);
        __Pyx_GIVEREF(__pyx_v_wrapped_error);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_wrapped_error);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 215, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/connection.pyx":214
 *     else:
 *         wrapped_error = None
 *     if hasattr(context_obj, '_close_received'):             # <<<<<<<<<<<<<<
 *         context_obj._close_received(wrapped_error)
 */
  }

  /* "src/connection.pyx":206
 * 
 * 
 * cdef void on_connection_close_received(void* context, c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_connection_close_received", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_XDECREF(__pyx_v_wrapped_error);
  __Pyx_RefNannyFinishContext();
}

/* "src/error.pyx":19
 * 
 * 
 * cpdef create_error(const char* condition_value):             # <<<<<<<<<<<<<<
 *     new_error = cError()
 *     new_error.create(condition_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_73create_error(PyObject *__pyx_self, PyObject *__pyx_arg_condition_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_error(char const *__pyx_v_condition_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_new_error = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_error", 0);

  /* "src/error.pyx":20
 * 
 * cpdef create_error(const char* condition_value):
 *     new_error = cError()             # <<<<<<<<<<<<<<
 *     new_error.create(condition_value)
 *     return new_error
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cError)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_error = ((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/error.pyx":21
 * cpdef create_error(const char* condition_value):
 *     new_error = cError()
 *     new_error.create(condition_value)             # <<<<<<<<<<<<<<
 *     return new_error
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_new_error->__pyx_vtab)->create(__pyx_v_new_error, __pyx_v_condition_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":22
 *     new_error = cError()
 *     new_error.create(condition_value)
 *     return new_error             # <<<<<<<<<<<<<<
 * 
 * cdef error_factory(c_amqp_definitions.ERROR_HANDLE error):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_error));
  __pyx_r = ((PyObject *)__pyx_v_new_error);
  goto __pyx_L0;

  /* "src/error.pyx":19
 * 
 * 
 * cpdef create_error(const char* condition_value):             # <<<<<<<<<<<<<<
 *     new_error = cError()
 *     new_error.create(condition_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_error);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_73create_error(PyObject *__pyx_self, PyObject *__pyx_arg_condition_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_73create_error(PyObject *__pyx_self, PyObject *__pyx_arg_condition_value) {
  char const *__pyx_v_condition_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_error (wrapper)", 0);
  assert(__pyx_arg_condition_value); {
    __pyx_v_condition_value = __Pyx_PyObject_AsString(__pyx_arg_condition_value); if (unlikely((!__pyx_v_condition_value) && PyErr_Occurred())) __PYX_ERR(12, 19, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_72create_error(__pyx_self, ((char const *)__pyx_v_condition_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_72create_error(CYTHON_UNUSED PyObject *__pyx_self, char const *__pyx_v_condition_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_error", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_error(__pyx_v_condition_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":24
 *     return new_error
 * 
 * cdef error_factory(c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     wrapper = cError()
 *     wrapper.wrap(error)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_error_factory(ERROR_HANDLE __pyx_v_error) {
  struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_wrapper = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("error_factory", 0);

  /* "src/error.pyx":25
 * 
 * cdef error_factory(c_amqp_definitions.ERROR_HANDLE error):
 *     wrapper = cError()             # <<<<<<<<<<<<<<
 *     wrapper.wrap(error)
 *     return wrapper
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cError)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapper = ((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/error.pyx":26
 * cdef error_factory(c_amqp_definitions.ERROR_HANDLE error):
 *     wrapper = cError()
 *     wrapper.wrap(error)             # <<<<<<<<<<<<<<
 *     return wrapper
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_wrapper->__pyx_vtab)->wrap(__pyx_v_wrapper, __pyx_v_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":27
 *     wrapper = cError()
 *     wrapper.wrap(error)
 *     return wrapper             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_wrapper));
  __pyx_r = ((PyObject *)__pyx_v_wrapper);
  goto __pyx_L0;

  /* "src/error.pyx":24
 *     return new_error
 * 
 * cdef error_factory(c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     wrapper = cError()
 *     wrapper.wrap(error)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.error_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":34
 *     cdef c_amqp_definitions.ERROR_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_6cError_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_6cError_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_6cError___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":37
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cError")
 *         #self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_6cError_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_6cError_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_6cError_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_6cError_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/error.pyx":38
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cError")             # <<<<<<<<<<<<<<
 *         #self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":37
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cError")
 *         #self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cError.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/error.pyx":41
 *         #self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError__create(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/error.pyx":42
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":43
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 43, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 43, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 43, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/error.pyx":42
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/error.pyx":41
 *         #self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":45
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cError")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_6cError_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 45, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 45, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/error.pyx":46
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cError")
 *             c_amqp_definitions.error_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/error.pyx":47
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cError")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.error_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__119, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/error.pyx":48
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cError")
 *             c_amqp_definitions.error_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL
 * 
 */
    error_destroy(__pyx_v_self->_c_value);

    /* "src/error.pyx":49
 *             _logger.debug("Destroying cError")
 *             c_amqp_definitions.error_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.ERROR_HANDLE value):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/error.pyx":46
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cError")
 *             c_amqp_definitions.error_destroy(self._c_value)
 */
  }

  /* "src/error.pyx":45
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cError")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_6cError_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":51
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.ERROR_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, ERROR_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/error.pyx":52
 * 
 *     cdef wrap(self, c_amqp_definitions.ERROR_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":53
 *     cdef wrap(self, c_amqp_definitions.ERROR_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/error.pyx":54
 *         self.destroy()
 *         self._c_value = value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, const char* condition_value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":51
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.ERROR_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":56
 *         self._create()
 * 
 *     cdef create(self, const char* condition_value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.error_create(condition_value)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_6cError_create(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_condition_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/error.pyx":57
 * 
 *     cdef create(self, const char* condition_value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.error_create(condition_value)
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":58
 *     cdef create(self, const char* condition_value):
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.error_create(condition_value)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = error_create(__pyx_v_condition_value);

  /* "src/error.pyx":59
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.error_create(condition_value)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/error.pyx":56
 *         self._create()
 * 
 *     cdef create(self, const char* condition_value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_amqp_definitions.error_create(condition_value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":62
 * 
 *     @property
 *     def condition(self):             # <<<<<<<<<<<<<<
 *         cdef const char* condition_value
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_9condition_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_9condition_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_9condition___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_9condition___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  char const *__pyx_v_condition_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/error.pyx":64
 *     def condition(self):
 *         cdef const char* condition_value
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return condition_value
 */
  __pyx_t_1 = ((error_get_condition(__pyx_v_self->_c_value, (&__pyx_v_condition_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":65
 *         cdef const char* condition_value
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return condition_value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 65, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 65, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 65, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/error.pyx":64
 *     def condition(self):
 *         cdef const char* condition_value
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return condition_value
 */
  }

  /* "src/error.pyx":66
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:
 *             self._value_error()
 *         return condition_value             # <<<<<<<<<<<<<<
 * 
 *     @condition.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_condition_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/error.pyx":62
 * 
 *     @property
 *     def condition(self):             # <<<<<<<<<<<<<<
 *         cdef const char* condition_value
 *         if  c_amqp_definitions.error_get_condition(self._c_value, &condition_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.condition.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":69
 * 
 *     @condition.setter
 *     def condition(self, const char* condition_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_condition(self._c_value, condition_value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_6cError_9condition_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_condition_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_6cError_9condition_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_condition_value) {
  char const *__pyx_v_condition_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_condition_value); {
    __pyx_v_condition_value = __Pyx_PyObject_AsString(__pyx_arg_condition_value); if (unlikely((!__pyx_v_condition_value) && PyErr_Occurred())) __PYX_ERR(12, 69, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.condition.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_9condition_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self), ((char const *)__pyx_v_condition_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_6cError_9condition_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_condition_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/error.pyx":70
 *     @condition.setter
 *     def condition(self, const char* condition_value):
 *         if c_amqp_definitions.error_set_condition(self._c_value, condition_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((error_set_condition(__pyx_v_self->_c_value, __pyx_v_condition_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":71
 *     def condition(self, const char* condition_value):
 *         if c_amqp_definitions.error_set_condition(self._c_value, condition_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 71, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 71, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/error.pyx":70
 *     @condition.setter
 *     def condition(self, const char* condition_value):
 *         if c_amqp_definitions.error_set_condition(self._c_value, condition_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/error.pyx":69
 * 
 *     @condition.setter
 *     def condition(self, const char* condition_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_condition(self._c_value, condition_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.condition.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":74
 * 
 *     @property
 *     def description(self):             # <<<<<<<<<<<<<<
 *         cdef const char* description_value
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_11description_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_11description_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_11description___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_11description___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  char const *__pyx_v_description_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/error.pyx":76
 *     def description(self):
 *         cdef const char* description_value
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return description_value
 */
  __pyx_t_1 = ((error_get_description(__pyx_v_self->_c_value, (&__pyx_v_description_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":77
 *         cdef const char* description_value
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:
 *             return None             # <<<<<<<<<<<<<<
 *         return description_value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/error.pyx":76
 *     def description(self):
 *         cdef const char* description_value
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:             # <<<<<<<<<<<<<<
 *             return None
 *         return description_value
 */
  }

  /* "src/error.pyx":78
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:
 *             return None
 *         return description_value             # <<<<<<<<<<<<<<
 * 
 *     @description.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_description_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/error.pyx":74
 * 
 *     @property
 *     def description(self):             # <<<<<<<<<<<<<<
 *         cdef const char* description_value
 *         if  c_amqp_definitions.error_get_description(self._c_value, &description_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.description.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":81
 * 
 *     @description.setter
 *     def description(self, const char* description_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_description(self._c_value, description_value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_6cError_11description_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_description_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_6cError_11description_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_description_value) {
  char const *__pyx_v_description_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_description_value); {
    __pyx_v_description_value = __Pyx_PyObject_AsString(__pyx_arg_description_value); if (unlikely((!__pyx_v_description_value) && PyErr_Occurred())) __PYX_ERR(12, 81, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.description.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_11description_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self), ((char const *)__pyx_v_description_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_6cError_11description_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, char const *__pyx_v_description_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/error.pyx":82
 *     @description.setter
 *     def description(self, const char* description_value):
 *         if c_amqp_definitions.error_set_description(self._c_value, description_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((error_set_description(__pyx_v_self->_c_value, __pyx_v_description_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":83
 *     def description(self, const char* description_value):
 *         if c_amqp_definitions.error_set_description(self._c_value, description_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 83, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 83, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/error.pyx":82
 *     @description.setter
 *     def description(self, const char* description_value):
 *         if c_amqp_definitions.error_set_description(self._c_value, description_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/error.pyx":81
 * 
 *     @description.setter
 *     def description(self, const char* description_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_description(self._c_value, description_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.description.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":86
 * 
 *     @property
 *     def info(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.fields info_value
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_4info_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_4info_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_4info___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_4info___get__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  fields __pyx_v_info_value;
  PyObject *__pyx_v_info = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/error.pyx":88
 *     def info(self):
 *         cdef c_amqp_definitions.fields info_value
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:             # <<<<<<<<<<<<<<
 *             return None
 *         try:
 */
  __pyx_t_1 = ((error_get_info(__pyx_v_self->_c_value, (&__pyx_v_info_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":89
 *         cdef c_amqp_definitions.fields info_value
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 *             return None             # <<<<<<<<<<<<<<
 *         try:
 *             info = value_factory(info_value)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/error.pyx":88
 *     def info(self):
 *         cdef c_amqp_definitions.fields info_value
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:             # <<<<<<<<<<<<<<
 *             return None
 *         try:
 */
  }

  /* "src/error.pyx":90
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 *             return None
 *         try:             # <<<<<<<<<<<<<<
 *             info = value_factory(info_value)
 *             return copy.deepcopy(info.value)
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "src/error.pyx":91
 *             return None
 *         try:
 *             info = value_factory(info_value)             # <<<<<<<<<<<<<<
 *             return copy.deepcopy(info.value)
 *         except TypeError:
 */
      __pyx_t_5 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_info_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 91, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_info = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "src/error.pyx":92
 *         try:
 *             info = value_factory(info_value)
 *             return copy.deepcopy(info.value)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             return None
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(12, 92, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_7)) __PYX_ERR(12, 92, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_info, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(12, 92, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_7, function);
        }
      }
      if (!__pyx_t_8) {
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 92, __pyx_L4_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_7)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 92, __pyx_L4_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 92, __pyx_L4_error)
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        } else
        #endif
        {
          __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(12, 92, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
          __Pyx_GIVEREF(__pyx_t_6);
          PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
          __pyx_t_6 = 0;
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 92, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L8_try_return;

      /* "src/error.pyx":90
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 *             return None
 *         try:             # <<<<<<<<<<<<<<
 *             info = value_factory(info_value)
 *             return copy.deepcopy(info.value)
 */
    }
    __pyx_L4_error:;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/error.pyx":93
 *             info = value_factory(info_value)
 *             return copy.deepcopy(info.value)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             return None
 * 
 */
    __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_10) {
      __Pyx_AddTraceback("uamqp.c_uamqp.cError.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_9) < 0) __PYX_ERR(12, 93, __pyx_L6_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_9);

      /* "src/error.pyx":94
 *             return copy.deepcopy(info.value)
 *         except TypeError:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @info.setter
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L7_except_return;
    }
    goto __pyx_L6_except_error;
    __pyx_L6_except_error:;

    /* "src/error.pyx":90
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 *             return None
 *         try:             # <<<<<<<<<<<<<<
 *             info = value_factory(info_value)
 *             return copy.deepcopy(info.value)
 */
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L8_try_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
    __pyx_L7_except_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
  }

  /* "src/error.pyx":86
 * 
 *     @property
 *     def info(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.fields info_value
 *         if  c_amqp_definitions.error_get_info(self._c_value, &info_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_info);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/error.pyx":97
 * 
 *     @info.setter
 *     def info(self, AMQPValue info_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_info(self._c_value, <c_amqp_definitions.fields>info_value._c_value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_6cError_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_6cError_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "info_value", 0))) __PYX_ERR(12, 97, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_4info_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_info_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_6cError_4info_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_info_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/error.pyx":98
 *     @info.setter
 *     def info(self, AMQPValue info_value):
 *         if c_amqp_definitions.error_set_info(self._c_value, <c_amqp_definitions.fields>info_value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 */
  __pyx_t_1 = ((error_set_info(__pyx_v_self->_c_value, ((fields)__pyx_v_info_value->_c_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/error.pyx":99
 *     def info(self, AMQPValue info_value):
 *         if c_amqp_definitions.error_set_info(self._c_value, <c_amqp_definitions.fields>info_value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 99, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 99, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/error.pyx":98
 *     @info.setter
 *     def info(self, AMQPValue info_value):
 *         if c_amqp_definitions.error_set_info(self._c_value, <c_amqp_definitions.fields>info_value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 */
  }

  /* "src/error.pyx":97
 * 
 *     @info.setter
 *     def info(self, AMQPValue info_value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.error_set_info(self._c_value, <c_amqp_definitions.fields>info_value._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__120, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_6cError_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_6cError_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cError *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_6cError_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cError *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__121, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cError.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":20
 * 
 * 
 * cpdef create_header():             # <<<<<<<<<<<<<<
 *     new_header = cHeader()
 *     return new_header
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_75create_header(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_header(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_new_header = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_header", 0);

  /* "src/header.pyx":21
 * 
 * cpdef create_header():
 *     new_header = cHeader()             # <<<<<<<<<<<<<<
 *     return new_header
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cHeader)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_header = ((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/header.pyx":22
 * cpdef create_header():
 *     new_header = cHeader()
 *     return new_header             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_header));
  __pyx_r = ((PyObject *)__pyx_v_new_header);
  goto __pyx_L0;

  /* "src/header.pyx":20
 * 
 * 
 * cpdef create_header():             # <<<<<<<<<<<<<<
 *     new_header = cHeader()
 *     return new_header
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_header", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_header);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_75create_header(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_75create_header(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_header (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_74create_header(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_74create_header(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_header", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_header(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_header", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":29
 *     cdef c_amqp_definitions.HEADER_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.header_create()
 *         self._validate()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/header.pyx":30
 * 
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.header_create()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = header_create();

  /* "src/header.pyx":31
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.header_create()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":29
 *     cdef c_amqp_definitions.HEADER_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.header_create()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":33
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cHeader")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_7cHeader_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_7cHeader_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_7cHeader_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_7cHeader_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/header.pyx":34
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cHeader")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__122, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":35
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cHeader")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":33
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cHeader")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cHeader.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/header.pyx":37
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader__validate(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/header.pyx":38
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":39
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 39, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 39, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 39, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/header.pyx":38
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/header.pyx":37
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":41
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 41, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 41, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/header.pyx":42
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/header.pyx":43
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cHeader")
 *                 c_amqp_definitions.header_destroy(self._c_value)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/header.pyx":44
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")             # <<<<<<<<<<<<<<
 *                 c_amqp_definitions.header_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 44, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 44, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__123, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 44, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/header.pyx":45
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")
 *                 c_amqp_definitions.header_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          header_destroy(__pyx_v_self->_c_value);

          /* "src/header.pyx":43
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cHeader")
 *                 c_amqp_definitions.header_destroy(self._c_value)
 */
        }

        /* "src/header.pyx":42
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/header.pyx":46
 *                 _logger.debug("Destroying cHeader")
 *                 c_amqp_definitions.header_destroy(self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/header.pyx":42
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/header.pyx":49
 *             pass
 *         finally:
 *             self._c_value = <c_amqp_definitions.HEADER_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.HEADER_HANDLE value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_9 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/header.pyx":41
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cHeader_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":51
 *             self._c_value = <c_amqp_definitions.HEADER_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.HEADER_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, HEADER_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/header.pyx":52
 * 
 *     cdef wrap(self, c_amqp_definitions.HEADER_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":53
 *     cdef wrap(self, c_amqp_definitions.HEADER_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/header.pyx":54
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":51
 *             self._c_value = <c_amqp_definitions.HEADER_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.HEADER_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":56
 *         self._validate()
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         value = c_amqp_definitions.header_clone(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cHeader_clone(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_skip_dispatch) {
  HEADER_HANDLE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_7clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 56, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 56, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/header.pyx":58
 *     cpdef clone(self):
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         value = c_amqp_definitions.header_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = header_clone(__pyx_v_self->_c_value);

  /* "src/header.pyx":59
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         value = c_amqp_definitions.header_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_obj = cHeader()
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/header.pyx":60
 *         value = c_amqp_definitions.header_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         new_obj = cHeader()
 *         new_obj.wrap(value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 60, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 60, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/header.pyx":59
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         value = c_amqp_definitions.header_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_obj = cHeader()
 */
  }

  /* "src/header.pyx":61
 *         if <void*>value == NULL:
 *             self._value_error()
 *         new_obj = cHeader()             # <<<<<<<<<<<<<<
 *         new_obj.wrap(value)
 *         return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cHeader)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/header.pyx":62
 *             self._value_error()
 *         new_obj = cHeader()
 *         new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *         return new_obj
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_new_obj->__pyx_vtab)->wrap(__pyx_v_new_obj, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":63
 *         new_obj = cHeader()
 *         new_obj.wrap(value)
 *         return new_obj             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/header.pyx":56
 *         self._validate()
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         value = c_amqp_definitions.header_clone(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_6clone(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cHeader_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":66
 * 
 *     @property
 *     def delivery_count(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  uint32_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/header.pyx":68
 *     def delivery_count(self):
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((header_get_delivery_count(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":69
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/header.pyx":70
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/header.pyx":69
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/header.pyx":71
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/header.pyx":68
 *     def delivery_count(self):
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/header.pyx":73
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @delivery_count.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/header.pyx":66
 * 
 *     @property
 *     def delivery_count(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t _value
 *         if c_amqp_definitions.header_get_delivery_count(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.delivery_count.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":76
 * 
 *     @delivery_count.setter
 *     def delivery_count(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_delivery_count(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(13, 76, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.delivery_count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_14delivery_count_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, uint32_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/header.pyx":78
 *     def delivery_count(self, stdint.uint32_t value):
 *         if c_amqp_definitions.header_set_delivery_count(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Couldn't set 'delivery_count'.")
 * 
 */
  __pyx_t_1 = ((header_set_delivery_count(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/header.pyx":77
 *     @delivery_count.setter
 *     def delivery_count(self, stdint.uint32_t value):
 *         if c_amqp_definitions.header_set_delivery_count(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'delivery_count'.")
 */
  if (__pyx_t_1) {

    /* "src/header.pyx":79
 *         if c_amqp_definitions.header_set_delivery_count(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'delivery_count'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__124, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/header.pyx":77
 *     @delivery_count.setter
 *     def delivery_count(self, stdint.uint32_t value):
 *         if c_amqp_definitions.header_set_delivery_count(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'delivery_count'.")
 */
  }

  /* "src/header.pyx":76
 * 
 *     @delivery_count.setter
 *     def delivery_count(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_delivery_count(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.delivery_count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":82
 * 
 *     @property
 *     def time_to_live(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  milliseconds __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/header.pyx":84
 *     def time_to_live(self):
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((header_get_ttl(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":85
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/header.pyx":86
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/header.pyx":85
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/header.pyx":87
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/header.pyx":84
 *     def time_to_live(self):
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/header.pyx":89
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @time_to_live.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/header.pyx":82
 * 
 *     @property
 *     def time_to_live(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.milliseconds _value
 *         if c_amqp_definitions.header_get_ttl(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.time_to_live.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":92
 * 
 *     @time_to_live.setter
 *     def time_to_live(self, c_amqp_definitions.milliseconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_ttl(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  milliseconds __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((milliseconds)-1)) && PyErr_Occurred())) __PYX_ERR(13, 92, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.time_to_live.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((milliseconds)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_12time_to_live_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, milliseconds __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/header.pyx":94
 *     def time_to_live(self, c_amqp_definitions.milliseconds value):
 *         if c_amqp_definitions.header_set_ttl(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Couldn't set 'time_to_live'.")
 * 
 */
  __pyx_t_1 = ((header_set_ttl(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/header.pyx":93
 *     @time_to_live.setter
 *     def time_to_live(self, c_amqp_definitions.milliseconds value):
 *         if c_amqp_definitions.header_set_ttl(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'time_to_live'.")
 */
  if (__pyx_t_1) {

    /* "src/header.pyx":95
 *         if c_amqp_definitions.header_set_ttl(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'time_to_live'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__125, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/header.pyx":93
 *     @time_to_live.setter
 *     def time_to_live(self, c_amqp_definitions.milliseconds value):
 *         if c_amqp_definitions.header_set_ttl(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'time_to_live'.")
 */
  }

  /* "src/header.pyx":92
 * 
 *     @time_to_live.setter
 *     def time_to_live(self, c_amqp_definitions.milliseconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_ttl(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.time_to_live.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":98
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  int __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/header.pyx":100
 *     def durable(self):
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((header_get_durable(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":101
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/header.pyx":102
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/header.pyx":101
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/header.pyx":103
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/header.pyx":100
 *     def durable(self):
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/header.pyx":105
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @durable.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/header.pyx":98
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_durable(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.durable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":108
 * 
 *     @durable.setter
 *     def durable(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_durable(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(13, 108, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/header.pyx":110
 *     def durable(self, bint value):
 *         if c_amqp_definitions.header_set_durable(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Couldn't set 'durable'.")
 * 
 */
  __pyx_t_1 = ((header_set_durable(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/header.pyx":109
 *     @durable.setter
 *     def durable(self, bint value):
 *         if c_amqp_definitions.header_set_durable(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'durable'.")
 */
  if (__pyx_t_1) {

    /* "src/header.pyx":111
 *         if c_amqp_definitions.header_set_durable(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'durable'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__126, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/header.pyx":109
 *     @durable.setter
 *     def durable(self, bint value):
 *         if c_amqp_definitions.header_set_durable(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'durable'.")
 */
  }

  /* "src/header.pyx":108
 * 
 *     @durable.setter
 *     def durable(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_durable(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":114
 * 
 *     @property
 *     def first_acquirer(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  int __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/header.pyx":116
 *     def first_acquirer(self):
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((header_get_first_acquirer(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":117
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/header.pyx":118
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/header.pyx":117
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/header.pyx":119
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/header.pyx":116
 *     def first_acquirer(self):
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/header.pyx":121
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @first_acquirer.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/header.pyx":114
 * 
 *     @property
 *     def first_acquirer(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.header_get_first_acquirer(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.first_acquirer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":124
 * 
 *     @first_acquirer.setter
 *     def first_acquirer(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_first_acquirer(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(13, 124, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.first_acquirer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_14first_acquirer_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, int __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/header.pyx":126
 *     def first_acquirer(self, bint value):
 *         if c_amqp_definitions.header_set_first_acquirer(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Couldn't set 'first_acquirer'.")
 * 
 */
  __pyx_t_1 = ((header_set_first_acquirer(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/header.pyx":125
 *     @first_acquirer.setter
 *     def first_acquirer(self, bint value):
 *         if c_amqp_definitions.header_set_first_acquirer(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'first_acquirer'.")
 */
  if (__pyx_t_1) {

    /* "src/header.pyx":127
 *         if c_amqp_definitions.header_set_first_acquirer(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'first_acquirer'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__127, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/header.pyx":125
 *     @first_acquirer.setter
 *     def first_acquirer(self, bint value):
 *         if c_amqp_definitions.header_set_first_acquirer(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'first_acquirer'.")
 */
  }

  /* "src/header.pyx":124
 * 
 *     @first_acquirer.setter
 *     def first_acquirer(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_first_acquirer(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.first_acquirer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":130
 * 
 *     @property
 *     def priority(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority___get__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  uint8_t __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/header.pyx":132
 *     def priority(self):
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((header_get_priority(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/header.pyx":133
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/header.pyx":134
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/header.pyx":133
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/header.pyx":135
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint8_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/header.pyx":132
 *     def priority(self):
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/header.pyx":137
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @priority.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/header.pyx":130
 * 
 *     @property
 *     def priority(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint8_t _value
 *         if c_amqp_definitions.header_get_priority(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.priority.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/header.pyx":140
 * 
 *     @priority.setter
 *     def priority(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_priority(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint8_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint8_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(13, 140, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((uint8_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cHeader_8priority_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, uint8_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/header.pyx":142
 *     def priority(self, stdint.uint8_t value):
 *         if c_amqp_definitions.header_set_priority(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Couldn't set 'priority'.")
 */
  __pyx_t_1 = ((header_set_priority(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/header.pyx":141
 *     @priority.setter
 *     def priority(self, stdint.uint8_t value):
 *         if c_amqp_definitions.header_set_priority(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'priority'.")
 */
  if (__pyx_t_1) {

    /* "src/header.pyx":143
 *         if c_amqp_definitions.header_set_priority(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'priority'.")             # <<<<<<<<<<<<<<
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__128, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/header.pyx":141
 *     @priority.setter
 *     def priority(self, stdint.uint8_t value):
 *         if c_amqp_definitions.header_set_priority(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'priority'.")
 */
  }

  /* "src/header.pyx":140
 * 
 *     @priority.setter
 *     def priority(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.header_set_priority(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_8__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__129, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cHeader_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cHeader_10__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cHeader_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__130, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cHeader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":22
 * 
 * 
 * cpdef create_link(cSession session, const char* name, bint role, AMQPValue source, AMQPValue target):             # <<<<<<<<<<<<<<
 *     new_link = cLink()
 *     new_link.create(session, name, <c_amqp_definitions.role>role, <c_amqpvalue.AMQP_VALUE>source._c_value, <c_amqpvalue.AMQP_VALUE>target._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_77create_link(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_link(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_name, int __pyx_v_role, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_source, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_target, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_new_link = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_link", 0);

  /* "src/link.pyx":23
 * 
 * cpdef create_link(cSession session, const char* name, bint role, AMQPValue source, AMQPValue target):
 *     new_link = cLink()             # <<<<<<<<<<<<<<
 *     new_link.create(session, name, <c_amqp_definitions.role>role, <c_amqpvalue.AMQP_VALUE>source._c_value, <c_amqpvalue.AMQP_VALUE>target._c_value)
 *     return new_link
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cLink)); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/link.pyx":24
 * cpdef create_link(cSession session, const char* name, bint role, AMQPValue source, AMQPValue target):
 *     new_link = cLink()
 *     new_link.create(session, name, <c_amqp_definitions.role>role, <c_amqpvalue.AMQP_VALUE>source._c_value, <c_amqpvalue.AMQP_VALUE>target._c_value)             # <<<<<<<<<<<<<<
 *     return new_link
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_new_link->__pyx_vtab)->create(__pyx_v_new_link, __pyx_v_session, __pyx_v_name, ((role)__pyx_v_role), __pyx_v_source->_c_value, __pyx_v_target->_c_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":25
 *     new_link = cLink()
 *     new_link.create(session, name, <c_amqp_definitions.role>role, <c_amqpvalue.AMQP_VALUE>source._c_value, <c_amqpvalue.AMQP_VALUE>target._c_value)
 *     return new_link             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_link));
  __pyx_r = ((PyObject *)__pyx_v_new_link);
  goto __pyx_L0;

  /* "src/link.pyx":22
 * 
 * 
 * cpdef create_link(cSession session, const char* name, bint role, AMQPValue source, AMQPValue target):             # <<<<<<<<<<<<<<
 *     new_link = cLink()
 *     new_link.create(session, name, <c_amqp_definitions.role>role, <c_amqpvalue.AMQP_VALUE>source._c_value, <c_amqpvalue.AMQP_VALUE>target._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_link", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_link);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_77create_link(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_77create_link(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session = 0;
  char const *__pyx_v_name;
  int __pyx_v_role;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_source = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_target = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_link (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_session,&__pyx_n_s_name_2,&__pyx_n_s_role,&__pyx_n_s_source,&__pyx_n_s_target,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_session)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_link", 1, 5, 5, 1); __PYX_ERR(14, 22, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_role)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_link", 1, 5, 5, 2); __PYX_ERR(14, 22, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_link", 1, 5, 5, 3); __PYX_ERR(14, 22, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_link", 1, 5, 5, 4); __PYX_ERR(14, 22, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_link") < 0)) __PYX_ERR(14, 22, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)values[0]);
    __pyx_v_name = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(14, 22, __pyx_L3_error)
    __pyx_v_role = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_role == (int)-1) && PyErr_Occurred())) __PYX_ERR(14, 22, __pyx_L3_error)
    __pyx_v_source = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[3]);
    __pyx_v_target = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[4]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_link", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(14, 22, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_link", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_session), __pyx_ptype_5uamqp_7c_uamqp_cSession, 1, "session", 0))) __PYX_ERR(14, 22, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_source), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "source", 0))) __PYX_ERR(14, 22, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_target), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "target", 0))) __PYX_ERR(14, 22, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_76create_link(__pyx_self, __pyx_v_session, __pyx_v_name, __pyx_v_role, __pyx_v_source, __pyx_v_target);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_76create_link(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_name, int __pyx_v_role, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_source, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_link", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_link(__pyx_v_session, __pyx_v_name, __pyx_v_role, __pyx_v_source, __pyx_v_target, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_link", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":34
 *     cdef cSession _session
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_5cLink___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":37
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cLink")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_5cLink_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_5cLink_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_5cLink_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_5cLink_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/link.pyx":38
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cLink")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__131, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":39
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cLink")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __enter__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":37
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cLink")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cLink.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/link.pyx":41
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_4__enter__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__", 0);

  /* "src/link.pyx":42
 * 
 *     def __enter__(self):
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __exit__(self, *args):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "src/link.pyx":41
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":44
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_6__exit__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__exit__", 0);

  /* "src/link.pyx":45
 * 
 *     def __exit__(self, *args):
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":44
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":47
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink__create(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/link.pyx":48
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":49
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 49, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 49, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 49, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":48
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/link.pyx":47
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":51
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cLink")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 51, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_9destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 51, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 51, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":52
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cLink")
 *             c_link.link_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/link.pyx":53
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cLink")             # <<<<<<<<<<<<<<
 *             c_link.link_destroy(self._c_value)
 *             self._c_value = <c_link.LINK_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__132, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/link.pyx":54
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cLink")
 *             c_link.link_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_link.LINK_HANDLE>NULL
 *             self._session = None
 */
    link_destroy(__pyx_v_self->_c_value);

    /* "src/link.pyx":55
 *             _logger.debug("Destroying cLink")
 *             c_link.link_destroy(self._c_value)
 *             self._c_value = <c_link.LINK_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._session = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/link.pyx":56
 *             c_link.link_destroy(self._c_value)
 *             self._c_value = <c_link.LINK_HANDLE>NULL
 *             self._session = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, cLink value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_session);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_session));
    __pyx_v_self->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None);

    /* "src/link.pyx":52
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cLink")
 *             c_link.link_destroy(self._c_value)
 */
  }

  /* "src/link.pyx":51
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cLink")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_8destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":58
 *             self._session = None
 * 
 *     cdef wrap(self, cLink value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = value._session
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  LINK_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/link.pyx":59
 * 
 *     cdef wrap(self, cLink value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._session = value._session
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":60
 *     cdef wrap(self, cLink value):
 *         self.destroy()
 *         self._session = value._session             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._create()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_value->_session);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_session);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_session));
  __pyx_v_self->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/link.pyx":61
 *         self.destroy()
 *         self._session = value._session
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/link.pyx":62
 *         self._session = value._session
 *         self._c_value = value._c_value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, cSession session, const char* name, c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":58
 *             self._session = None
 * 
 *     cdef wrap(self, cLink value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = value._session
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":64
 *         self._create()
 * 
 *     cdef create(self, cSession session, const char* name, c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = session
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_create(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session, char const *__pyx_v_name, role __pyx_v_role, AMQP_VALUE __pyx_v_source, AMQP_VALUE __pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/link.pyx":65
 * 
 *     cdef create(self, cSession session, const char* name, c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._session = session
 *         self._c_value = c_link.link_create(<c_session.SESSION_HANDLE>session._c_value, name, role, source, target)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":66
 *     cdef create(self, cSession session, const char* name, c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target):
 *         self.destroy()
 *         self._session = session             # <<<<<<<<<<<<<<
 *         self._c_value = c_link.link_create(<c_session.SESSION_HANDLE>session._c_value, name, role, source, target)
 *         self._create()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_session));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_session));
  __Pyx_GOTREF(__pyx_v_self->_session);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_session));
  __pyx_v_self->_session = __pyx_v_session;

  /* "src/link.pyx":67
 *         self.destroy()
 *         self._session = session
 *         self._c_value = c_link.link_create(<c_session.SESSION_HANDLE>session._c_value, name, role, source, target)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = link_create(__pyx_v_session->_c_value, __pyx_v_name, __pyx_v_role, __pyx_v_source, __pyx_v_target);

  /* "src/link.pyx":68
 *         self._session = session
 *         self._c_value = c_link.link_create(<c_session.SESSION_HANDLE>session._c_value, name, role, source, target)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef subscribe_to_detach_event(self, on_detch_received):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/link.pyx":64
 *         self._create()
 * 
 *     cdef create(self, cSession session, const char* name, c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._session = session
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":70
 *         self._create()
 * 
 *     cpdef subscribe_to_detach_event(self, on_detch_received):             # <<<<<<<<<<<<<<
 *         self._detach_event = c_link.link_subscribe_on_link_detach_received(
 *             self._c_value,
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_11subscribe_to_detach_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_detch_received); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_subscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, PyObject *__pyx_v_on_detch_received, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("subscribe_to_detach_event", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_subscribe_to_detach_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_11subscribe_to_detach_event)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_on_detch_received); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 70, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_on_detch_received};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 70, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_on_detch_received};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 70, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 70, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_on_detch_received);
          __Pyx_GIVEREF(__pyx_v_on_detch_received);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_on_detch_received);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 70, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":71
 * 
 *     cpdef subscribe_to_detach_event(self, on_detch_received):
 *         self._detach_event = c_link.link_subscribe_on_link_detach_received(             # <<<<<<<<<<<<<<
 *             self._c_value,
 *             <c_link.ON_LINK_DETACH_RECEIVED>on_link_detach_received,
 */
  __pyx_v_self->_detach_event = link_subscribe_on_link_detach_received(__pyx_v_self->_c_value, ((ON_LINK_DETACH_RECEIVED)__pyx_f_5uamqp_7c_uamqp_on_link_detach_received), ((void *)__pyx_v_on_detch_received));

  /* "src/link.pyx":75
 *             <c_link.ON_LINK_DETACH_RECEIVED>on_link_detach_received,
 *             <void*>on_detch_received)
 *         if <void*>self._detach_event == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to register DETACH event handler.")
 * 
 */
  __pyx_t_6 = ((((void *)__pyx_v_self->_detach_event) == NULL) != 0);
  if (__pyx_t_6) {

    /* "src/link.pyx":76
 *             <void*>on_detch_received)
 *         if <void*>self._detach_event == NULL:
 *             self._value_error("Unable to register DETACH event handler.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef unsubscribe_to_detach_event(self):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":75
 *             <c_link.ON_LINK_DETACH_RECEIVED>on_link_detach_received,
 *             <void*>on_detch_received)
 *         if <void*>self._detach_event == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to register DETACH event handler.")
 * 
 */
  }

  /* "src/link.pyx":70
 *         self._create()
 * 
 *     cpdef subscribe_to_detach_event(self, on_detch_received):             # <<<<<<<<<<<<<<
 *         self._detach_event = c_link.link_subscribe_on_link_detach_received(
 *             self._c_value,
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.subscribe_to_detach_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_11subscribe_to_detach_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_detch_received); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_11subscribe_to_detach_event(PyObject *__pyx_v_self, PyObject *__pyx_v_on_detch_received) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subscribe_to_detach_event (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_10subscribe_to_detach_event(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((PyObject *)__pyx_v_on_detch_received));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_10subscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, PyObject *__pyx_v_on_detch_received) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("subscribe_to_detach_event", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_subscribe_to_detach_event(__pyx_v_self, __pyx_v_on_detch_received, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.subscribe_to_detach_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":78
 *             self._value_error("Unable to register DETACH event handler.")
 * 
 *     cpdef unsubscribe_to_detach_event(self):             # <<<<<<<<<<<<<<
 *         c_link.link_unsubscribe_on_link_detach_received(self._detach_event)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_13unsubscribe_to_detach_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_unsubscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("unsubscribe_to_detach_event", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_unsubscribe_to_detach_event); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_13unsubscribe_to_detach_event)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 78, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 78, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":79
 * 
 *     cpdef unsubscribe_to_detach_event(self):
 *         c_link.link_unsubscribe_on_link_detach_received(self._detach_event)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  link_unsubscribe_on_link_detach_received(__pyx_v_self->_detach_event);

  /* "src/link.pyx":78
 *             self._value_error("Unable to register DETACH event handler.")
 * 
 *     cpdef unsubscribe_to_detach_event(self):             # <<<<<<<<<<<<<<
 *         c_link.link_unsubscribe_on_link_detach_received(self._detach_event)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.unsubscribe_to_detach_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_13unsubscribe_to_detach_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_13unsubscribe_to_detach_event(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unsubscribe_to_detach_event (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_12unsubscribe_to_detach_event(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_12unsubscribe_to_detach_event(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("unsubscribe_to_detach_event", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_unsubscribe_to_detach_event(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.unsubscribe_to_detach_event", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":82
 * 
 *     @property
 *     def send_settle_mode(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sender_settle_mode snd_settle_mode
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  sender_settle_mode __pyx_v_snd_settle_mode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":84
 *     def send_settle_mode(self):
 *         cdef c_amqp_definitions.sender_settle_mode snd_settle_mode
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return <stdint.uint8_t>snd_settle_mode
 */
  __pyx_t_1 = ((link_get_snd_settle_mode(__pyx_v_self->_c_value, (&__pyx_v_snd_settle_mode)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":85
 *         cdef c_amqp_definitions.sender_settle_mode snd_settle_mode
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return <stdint.uint8_t>snd_settle_mode
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 85, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 85, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":84
 *     def send_settle_mode(self):
 *         cdef c_amqp_definitions.sender_settle_mode snd_settle_mode
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return <stdint.uint8_t>snd_settle_mode
 */
  }

  /* "src/link.pyx":86
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:
 *             self._value_error()
 *         return <stdint.uint8_t>snd_settle_mode             # <<<<<<<<<<<<<<
 * 
 *     @send_settle_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint8_t(((uint8_t)__pyx_v_snd_settle_mode)); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":82
 * 
 *     @property
 *     def send_settle_mode(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sender_settle_mode snd_settle_mode
 *         if  c_link.link_get_snd_settle_mode(self._c_value, &snd_settle_mode) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.send_settle_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":89
 * 
 *     @send_settle_mode.setter
 *     def send_settle_mode(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_snd_settle_mode(self._c_value, <c_amqp_definitions.sender_settle_mode>value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint8_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint8_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(14, 89, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.send_settle_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((uint8_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_5cLink_16send_settle_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint8_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/link.pyx":90
 *     @send_settle_mode.setter
 *     def send_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_snd_settle_mode(self._c_value, <c_amqp_definitions.sender_settle_mode>value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((link_set_snd_settle_mode(__pyx_v_self->_c_value, ((sender_settle_mode)__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":91
 *     def send_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_snd_settle_mode(self._c_value, <c_amqp_definitions.sender_settle_mode>value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 91, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 91, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":90
 *     @send_settle_mode.setter
 *     def send_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_snd_settle_mode(self._c_value, <c_amqp_definitions.sender_settle_mode>value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/link.pyx":89
 * 
 *     @send_settle_mode.setter
 *     def send_settle_mode(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_snd_settle_mode(self._c_value, <c_amqp_definitions.sender_settle_mode>value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.send_settle_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":94
 * 
 *     @property
 *     def receive_settle_mode(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.receiver_settle_mode rcv_settle_mode
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  receiver_settle_mode __pyx_v_rcv_settle_mode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":96
 *     def receive_settle_mode(self):
 *         cdef c_amqp_definitions.receiver_settle_mode rcv_settle_mode
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return <stdint.uint8_t>rcv_settle_mode
 */
  __pyx_t_1 = ((link_get_rcv_settle_mode(__pyx_v_self->_c_value, (&__pyx_v_rcv_settle_mode)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":97
 *         cdef c_amqp_definitions.receiver_settle_mode rcv_settle_mode
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return <stdint.uint8_t>rcv_settle_mode
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 97, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 97, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":96
 *     def receive_settle_mode(self):
 *         cdef c_amqp_definitions.receiver_settle_mode rcv_settle_mode
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return <stdint.uint8_t>rcv_settle_mode
 */
  }

  /* "src/link.pyx":98
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:
 *             self._value_error()
 *         return <stdint.uint8_t>rcv_settle_mode             # <<<<<<<<<<<<<<
 * 
 *     @receive_settle_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint8_t(((uint8_t)__pyx_v_rcv_settle_mode)); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":94
 * 
 *     @property
 *     def receive_settle_mode(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.receiver_settle_mode rcv_settle_mode
 *         if  c_link.link_get_rcv_settle_mode(self._c_value, &rcv_settle_mode) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.receive_settle_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":101
 * 
 *     @receive_settle_mode.setter
 *     def receive_settle_mode(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_rcv_settle_mode(self._c_value, <c_amqp_definitions.receiver_settle_mode>value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint8_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint8_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(14, 101, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.receive_settle_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((uint8_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint8_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/link.pyx":102
 *     @receive_settle_mode.setter
 *     def receive_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_rcv_settle_mode(self._c_value, <c_amqp_definitions.receiver_settle_mode>value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((link_set_rcv_settle_mode(__pyx_v_self->_c_value, ((receiver_settle_mode)__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":103
 *     def receive_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_rcv_settle_mode(self._c_value, <c_amqp_definitions.receiver_settle_mode>value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 103, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 103, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":102
 *     @receive_settle_mode.setter
 *     def receive_settle_mode(self, stdint.uint8_t value):
 *         if c_link.link_set_rcv_settle_mode(self._c_value, <c_amqp_definitions.receiver_settle_mode>value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/link.pyx":101
 * 
 *     @receive_settle_mode.setter
 *     def receive_settle_mode(self, stdint.uint8_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_rcv_settle_mode(self._c_value, <c_amqp_definitions.receiver_settle_mode>value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.receive_settle_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":106
 * 
 *     @property
 *     def max_message_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  uint64_t __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":108
 *     def max_message_size(self):
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((link_get_max_message_size(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":109
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 109, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 109, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":108
 *     def max_message_size(self):
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/link.pyx":110
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @max_message_size.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":106
 * 
 *     @property
 *     def max_message_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_max_message_size(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.max_message_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":113
 * 
 *     @max_message_size.setter
 *     def max_message_size(self, stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_max_message_size(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint64_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(14, 113, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.max_message_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((uint64_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_5cLink_16max_message_size_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint64_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/link.pyx":114
 *     @max_message_size.setter
 *     def max_message_size(self, stdint.uint64_t value):
 *         if c_link.link_set_max_message_size(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((link_set_max_message_size(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":115
 *     def max_message_size(self, stdint.uint64_t value):
 *         if c_link.link_set_max_message_size(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 115, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 115, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":114
 *     @max_message_size.setter
 *     def max_message_size(self, stdint.uint64_t value):
 *         if c_link.link_set_max_message_size(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/link.pyx":113
 * 
 *     @max_message_size.setter
 *     def max_message_size(self, stdint.uint64_t value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_max_message_size(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.max_message_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":118
 * 
 *     @property
 *     def initial_delivery_count(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sequence_no value
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  sequence_no __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":120
 *     def initial_delivery_count(self):
 *         cdef c_amqp_definitions.sequence_no value
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((link_get_initial_delivery_count(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":121
 *         cdef c_amqp_definitions.sequence_no value
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 121, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 121, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":120
 *     def initial_delivery_count(self):
 *         cdef c_amqp_definitions.sequence_no value
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/link.pyx":122
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @initial_delivery_count.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":118
 * 
 *     @property
 *     def initial_delivery_count(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sequence_no value
 *         if c_link.link_get_initial_delivery_count(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.initial_delivery_count.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":125
 * 
 *     @initial_delivery_count.setter
 *     def initial_delivery_count(self, c_amqp_definitions.sequence_no value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_initial_delivery_count(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  sequence_no __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((sequence_no)-1)) && PyErr_Occurred())) __PYX_ERR(14, 125, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.initial_delivery_count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((sequence_no)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, sequence_no __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/link.pyx":126
 *     @initial_delivery_count.setter
 *     def initial_delivery_count(self, c_amqp_definitions.sequence_no value):
 *         if c_link.link_set_initial_delivery_count(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((link_set_initial_delivery_count(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":127
 *     def initial_delivery_count(self, c_amqp_definitions.sequence_no value):
 *         if c_link.link_set_initial_delivery_count(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 127, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 127, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":126
 *     @initial_delivery_count.setter
 *     def initial_delivery_count(self, c_amqp_definitions.sequence_no value):
 *         if c_link.link_set_initial_delivery_count(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/link.pyx":125
 * 
 *     @initial_delivery_count.setter
 *     def initial_delivery_count(self, c_amqp_definitions.sequence_no value):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_initial_delivery_count(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.initial_delivery_count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":130
 * 
 *     @property
 *     def peer_max_message_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_21peer_max_message_size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_21peer_max_message_size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_21peer_max_message_size___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_21peer_max_message_size___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  uint64_t __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":132
 *     def peer_max_message_size(self):
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((link_get_peer_max_message_size(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":133
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 133, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 133, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":132
 *     def peer_max_message_size(self):
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/link.pyx":134
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":130
 * 
 *     @property
 *     def peer_max_message_size(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint64_t value
 *         if c_link.link_get_peer_max_message_size(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.peer_max_message_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":137
 * 
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         cdef const char* value
 *         if c_link.link_get_name(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_4name_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_4name___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_4name___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  char const *__pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":139
 *     def name(self):
 *         cdef const char* value
 *         if c_link.link_get_name(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((link_get_name(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":140
 *         cdef const char* value
 *         if c_link.link_get_name(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 140, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 140, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":139
 *     def name(self):
 *         cdef const char* value
 *         if c_link.link_get_name(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/link.pyx":141
 *         if c_link.link_get_name(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":137
 * 
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         cdef const char* value
 *         if c_link.link_get_name(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":144
 * 
 *     @property
 *     def desired_capabilities(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_20desired_capabilities_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_20desired_capabilities_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_20desired_capabilities___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_20desired_capabilities___get__(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/link.pyx":146
 *     def desired_capabilities(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  __pyx_t_1 = ((link_get_desired_capabilities(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/link.pyx":147
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(value)
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 147, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 147, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":146
 *     def desired_capabilities(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(value)
 */
  }

  /* "src/link.pyx":148
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value_factory(value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef do_work(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/link.pyx":144
 * 
 *     @property
 *     def desired_capabilities(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_link.link_get_desired_capabilities(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.desired_capabilities.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":150
 *         return value_factory(value)
 * 
 *     cpdef do_work(self):             # <<<<<<<<<<<<<<
 *         c_link.link_dowork(self._c_value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_15do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_do_work(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("do_work", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_work); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_15do_work)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 150, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 150, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":151
 * 
 *     cpdef do_work(self):
 *         c_link.link_dowork(self._c_value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):
 */
  link_dowork(__pyx_v_self->_c_value);

  /* "src/link.pyx":150
 *         return value_factory(value)
 * 
 *     cpdef do_work(self):             # <<<<<<<<<<<<<<
 *         c_link.link_dowork(self._c_value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.do_work", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_15do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_15do_work(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("do_work (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_14do_work(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_14do_work(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("do_work", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_do_work(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.do_work", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":153
 *         c_link.link_dowork(self._c_value)
 * 
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:
 *             self._value_error("Unable to set link credit.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_17set_prefetch_count(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefetch); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_prefetch_count(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint32_t __pyx_v_prefetch, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("set_prefetch_count", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_prefetch_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_17set_prefetch_count)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_prefetch); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 153, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 153, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 153, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(14, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 153, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":154
 * 
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link credit.")
 * 
 */
  __pyx_t_7 = ((link_set_max_link_credit(__pyx_v_self->_c_value, __pyx_v_prefetch) != 0) != 0);
  if (__pyx_t_7) {

    /* "src/link.pyx":155
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:
 *             self._value_error("Unable to set link credit.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__134, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":154
 * 
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link credit.")
 * 
 */
  }

  /* "src/link.pyx":153
 *         c_link.link_dowork(self._c_value)
 * 
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:
 *             self._value_error("Unable to set link credit.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_prefetch_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_17set_prefetch_count(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefetch); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_17set_prefetch_count(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefetch) {
  uint32_t __pyx_v_prefetch;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_prefetch_count (wrapper)", 0);
  assert(__pyx_arg_prefetch); {
    __pyx_v_prefetch = __Pyx_PyInt_As_uint32_t(__pyx_arg_prefetch); if (unlikely((__pyx_v_prefetch == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(14, 153, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_prefetch_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_16set_prefetch_count(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((uint32_t)__pyx_v_prefetch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_16set_prefetch_count(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, uint32_t __pyx_v_prefetch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_prefetch_count", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_set_prefetch_count(__pyx_v_self, __pyx_v_prefetch, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_prefetch_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":157
 *             self._value_error("Unable to set link credit.")
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:
 *             self._value_error("Unable to set link attach properties.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_19set_attach_properties(PyObject *__pyx_v_self, PyObject *__pyx_v_properties); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_attach_properties(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_properties, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("set_attach_properties", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_attach_properties); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_19set_attach_properties)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_properties)); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_properties)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 157, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_properties)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 157, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 157, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_properties));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_properties));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_properties));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 157, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":158
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link attach properties.")
 * 
 */
  __pyx_t_6 = ((link_set_attach_properties(__pyx_v_self->_c_value, ((fields)__pyx_v_properties->_c_value)) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/link.pyx":159
 *     cpdef set_attach_properties(self, AMQPValue properties):
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:
 *             self._value_error("Unable to set link attach properties.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__135, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":158
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link attach properties.")
 * 
 */
  }

  /* "src/link.pyx":157
 *             self._value_error("Unable to set link credit.")
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:
 *             self._value_error("Unable to set link attach properties.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_attach_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_19set_attach_properties(PyObject *__pyx_v_self, PyObject *__pyx_v_properties); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_19set_attach_properties(PyObject *__pyx_v_self, PyObject *__pyx_v_properties) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_attach_properties (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_properties), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "properties", 0))) __PYX_ERR(14, 157, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_18set_attach_properties(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_properties));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_18set_attach_properties(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_properties) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_attach_properties", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_set_attach_properties(__pyx_v_self, __pyx_v_properties, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_attach_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":161
 *             self._value_error("Unable to set link attach properties.")
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:
 *             self._value_error("Unable to set link desired capabilities.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_21set_desired_capabilities(PyObject *__pyx_v_self, PyObject *__pyx_v_desired_capabilities); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_5cLink_set_desired_capabilities(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_desired_capabilities, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("set_desired_capabilities", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_desired_capabilities); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_21set_desired_capabilities)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_desired_capabilities)); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 161, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_desired_capabilities)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 161, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_desired_capabilities)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 161, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 161, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_desired_capabilities));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_desired_capabilities));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_desired_capabilities));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 161, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/link.pyx":162
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link desired capabilities.")
 * 
 */
  __pyx_t_6 = ((link_set_desired_capabilities(__pyx_v_self->_c_value, __pyx_v_desired_capabilities->_c_value) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/link.pyx":163
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:
 *             self._value_error("Unable to set link desired capabilities.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__136, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/link.pyx":162
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to set link desired capabilities.")
 * 
 */
  }

  /* "src/link.pyx":161
 *             self._value_error("Unable to set link attach properties.")
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):             # <<<<<<<<<<<<<<
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:
 *             self._value_error("Unable to set link desired capabilities.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_desired_capabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_21set_desired_capabilities(PyObject *__pyx_v_self, PyObject *__pyx_v_desired_capabilities); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_21set_desired_capabilities(PyObject *__pyx_v_self, PyObject *__pyx_v_desired_capabilities) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_desired_capabilities (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_desired_capabilities), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "desired_capabilities", 0))) __PYX_ERR(14, 161, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_20set_desired_capabilities(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_desired_capabilities));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_20set_desired_capabilities(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_desired_capabilities) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_desired_capabilities", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_5cLink_set_desired_capabilities(__pyx_v_self, __pyx_v_desired_capabilities, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.set_desired_capabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_22__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__137, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_5cLink_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_5cLink_24__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_5cLink_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__138, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cLink.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/link.pyx":168
 * #### Callback
 * 
 * cdef void on_link_detach_received(void* context, c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_link_detach_received(void *__pyx_v_context, ERROR_HANDLE __pyx_v_error) {
  ERROR_HANDLE __pyx_v_cloned;
  PyObject *__pyx_v_context_obj = NULL;
  PyObject *__pyx_v_wrapped_error = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("on_link_detach_received", 0);

  /* "src/link.pyx":170
 * cdef void on_link_detach_received(void* context, c_amqp_definitions.ERROR_HANDLE error):
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context             # <<<<<<<<<<<<<<
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_context_obj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/link.pyx":171
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 *     if <void*> error != NULL:             # <<<<<<<<<<<<<<
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)
 */
  __pyx_t_2 = ((((void *)__pyx_v_error) != NULL) != 0);
  if (__pyx_t_2) {

    /* "src/link.pyx":172
 *     context_obj = <object>context
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)             # <<<<<<<<<<<<<<
 *         wrapped_error = error_factory(cloned)
 *     else:
 */
    __pyx_v_cloned = error_clone(__pyx_v_error);

    /* "src/link.pyx":173
 *     if <void*> error != NULL:
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)             # <<<<<<<<<<<<<<
 *     else:
 *         wrapped_error = None
 */
    __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_error_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_wrapped_error = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/link.pyx":171
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 *     if <void*> error != NULL:             # <<<<<<<<<<<<<<
 *         cloned = c_amqp_definitions.error_clone(error)
 *         wrapped_error = error_factory(cloned)
 */
    goto __pyx_L3;
  }

  /* "src/link.pyx":175
 *         wrapped_error = error_factory(cloned)
 *     else:
 *         wrapped_error = None             # <<<<<<<<<<<<<<
 *     if hasattr(context_obj, '_detach_received'):
 *         context_obj._detach_received(wrapped_error)
 */
  /*else*/ {
    __Pyx_INCREF(Py_None);
    __pyx_v_wrapped_error = Py_None;
  }
  __pyx_L3:;

  /* "src/link.pyx":176
 *     else:
 *         wrapped_error = None
 *     if hasattr(context_obj, '_detach_received'):             # <<<<<<<<<<<<<<
 *         context_obj._detach_received(wrapped_error)
 */
  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_context_obj, __pyx_n_s_detach_received); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(14, 176, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "src/link.pyx":177
 *         wrapped_error = None
 *     if hasattr(context_obj, '_detach_received'):
 *         context_obj._detach_received(wrapped_error)             # <<<<<<<<<<<<<<
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_detach_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_wrapped_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_error};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 177, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_error};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 177, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_1);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(14, 177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_INCREF(__pyx_v_wrapped_error);
        __Pyx_GIVEREF(__pyx_v_wrapped_error);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_wrapped_error);
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 177, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/link.pyx":176
 *     else:
 *         wrapped_error = None
 *     if hasattr(context_obj, '_detach_received'):             # <<<<<<<<<<<<<<
 *         context_obj._detach_received(wrapped_error)
 */
  }

  /* "src/link.pyx":168
 * #### Callback
 * 
 * cdef void on_link_detach_received(void* context, c_amqp_definitions.ERROR_HANDLE error):             # <<<<<<<<<<<<<<
 *     cdef c_amqp_definitions.ERROR_HANDLE cloned
 *     context_obj = <object>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_link_detach_received", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_XDECREF(__pyx_v_wrapped_error);
  __Pyx_RefNannyFinishContext();
}

/* "src/message.pyx":29
 * 
 * 
 * cdef message_factory(c_message.MESSAGE_HANDLE value):             # <<<<<<<<<<<<<<
 *     new_message = cMessage()
 *     new_message.wrap(value)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_message_factory(MESSAGE_HANDLE __pyx_v_value) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_new_message = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("message_factory", 0);

  /* "src/message.pyx":30
 * 
 * cdef message_factory(c_message.MESSAGE_HANDLE value):
 *     new_message = cMessage()             # <<<<<<<<<<<<<<
 *     new_message.wrap(value)
 *     return new_message
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessage)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_message = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message.pyx":31
 * cdef message_factory(c_message.MESSAGE_HANDLE value):
 *     new_message = cMessage()
 *     new_message.wrap(value)             # <<<<<<<<<<<<<<
 *     return new_message
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_new_message->__pyx_vtab)->wrap(__pyx_v_new_message, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":32
 *     new_message = cMessage()
 *     new_message.wrap(value)
 *     return new_message             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_message));
  __pyx_r = ((PyObject *)__pyx_v_new_message);
  goto __pyx_L0;

  /* "src/message.pyx":29
 * 
 * 
 * cdef message_factory(c_message.MESSAGE_HANDLE value):             # <<<<<<<<<<<<<<
 *     new_message = cMessage()
 *     new_message.wrap(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.message_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_message);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":35
 * 
 * 
 * cpdef create_message():             # <<<<<<<<<<<<<<
 *     new_message = cMessage()
 *     new_message.create()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_79create_message(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_new_message = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message", 0);

  /* "src/message.pyx":36
 * 
 * cpdef create_message():
 *     new_message = cMessage()             # <<<<<<<<<<<<<<
 *     new_message.create()
 *     return new_message
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessage)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_message = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message.pyx":37
 * cpdef create_message():
 *     new_message = cMessage()
 *     new_message.create()             # <<<<<<<<<<<<<<
 *     return new_message
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_new_message->__pyx_vtab)->create(__pyx_v_new_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":38
 *     new_message = cMessage()
 *     new_message.create()
 *     return new_message             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_message));
  __pyx_r = ((PyObject *)__pyx_v_new_message);
  goto __pyx_L0;

  /* "src/message.pyx":35
 * 
 * 
 * cpdef create_message():             # <<<<<<<<<<<<<<
 *     new_message = cMessage()
 *     new_message.create()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_message);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_79create_message(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_79create_message(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_message (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_78create_message(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_78create_message(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_message(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":45
 *     cdef c_message.MESSAGE_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":48
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessage")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_8cMessage_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_8cMessage_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_8cMessage_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_8cMessage_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/message.pyx":49
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessage")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__139, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":50
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessage")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":48
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessage")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cMessage.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/message.pyx":52
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage__create(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/message.pyx":53
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":54
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":53
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/message.pyx":52
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":56
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":57
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/message.pyx":58
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cMessage")
 *                 c_message.message_destroy(self._c_value)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/message.pyx":59
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")             # <<<<<<<<<<<<<<
 *                 c_message.message_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__140, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/message.pyx":60
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")
 *                 c_message.message_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          message_destroy(__pyx_v_self->_c_value);

          /* "src/message.pyx":58
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cMessage")
 *                 c_message.message_destroy(self._c_value)
 */
        }

        /* "src/message.pyx":57
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/message.pyx":61
 *                 _logger.debug("Destroying cMessage")
 *                 c_message.message_destroy(self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/message.pyx":57
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/message.pyx":64
 *             pass
 *         finally:
 *             self._c_value = <c_message.MESSAGE_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_message.MESSAGE_HANDLE value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_9 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/message.pyx":56
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":66
 *             self._c_value = <c_message.MESSAGE_HANDLE>NULL
 * 
 *     cdef wrap(self, c_message.MESSAGE_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, MESSAGE_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/message.pyx":67
 * 
 *     cdef wrap(self, c_message.MESSAGE_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":68
 *     cdef wrap(self, c_message.MESSAGE_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/message.pyx":69
 *         self.destroy()
 *         self._c_value = value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":66
 *             self._c_value = <c_message.MESSAGE_HANDLE>NULL
 * 
 *     cdef wrap(self, c_message.MESSAGE_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":71
 *         self._create()
 * 
 *     cdef create(self):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_message.message_create()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/message.pyx":72
 * 
 *     cdef create(self):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_message.message_create()
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":73
 *     cdef create(self):
 *         self.destroy()
 *         self._c_value = c_message.message_create()             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = message_create();

  /* "src/message.pyx":74
 *         self.destroy()
 *         self._c_value = c_message.message_create()
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":71
 *         self._create()
 * 
 *     cdef create(self):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_message.message_create()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":76
 *         self._create()
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_message.MESSAGE_HANDLE value
 *         value = c_message.message_clone(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_clone(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch) {
  MESSAGE_HANDLE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_7clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":78
 *     cpdef clone(self):
 *         cdef c_message.MESSAGE_HANDLE value
 *         value = c_message.message_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = message_clone(__pyx_v_self->_c_value);

  /* "src/message.pyx":79
 *         cdef c_message.MESSAGE_HANDLE value
 *         value = c_message.message_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return message_factory(value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/message.pyx":80
 *         value = c_message.message_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return message_factory(value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":79
 *         cdef c_message.MESSAGE_HANDLE value
 *         value = c_message.message_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return message_factory(value)
 */
  }

  /* "src/message.pyx":81
 *         if <void*>value == NULL:
 *             self._value_error()
 *         return message_factory(value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_message_factory(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":76
 *         self._create()
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_message.MESSAGE_HANDLE value
 *         value = c_message.message_clone(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_6clone(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":84
 * 
 *     @property
 *     def header(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_6header___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6header___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  HEADER_HANDLE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":86
 *     def header(self):
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_header(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":87
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cHeader()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":88
 *         if c_message.message_get_header(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cHeader()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":87
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cHeader()
 */
    }

    /* "src/message.pyx":89
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cHeader()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cHeader)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":90
 *                 return None
 *             new_obj = cHeader()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader *)__pyx_v_new_obj->__pyx_vtab)->wrap(__pyx_v_new_obj, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":91
 *             new_obj = cHeader()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":86
 *     def header(self):
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":93
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @header.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":84
 * 
 *     @property
 *     def header(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.HEADER_HANDLE value
 *         if c_message.message_get_header(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.header.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":96
 * 
 *     @header.setter
 *     def header(self, cHeader value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_header(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cHeader, 1, "value", 0))) __PYX_ERR(0, 96, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_6header_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_6header_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cHeader *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":97
 *     @header.setter
 *     def header(self, cHeader value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_header(
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":99
 *         if value is None:
 *             if c_message.message_set_header(
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_header(
 */
    __pyx_t_2 = ((message_set_header(__pyx_v_self->_c_value, NULL) != 0) != 0);

    /* "src/message.pyx":98
 *     def header(self, cHeader value):
 *         if value is None:
 *             if c_message.message_set_header(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":100
 *             if c_message.message_set_header(
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_header(
 *             self._c_value, <c_amqp_definitions.HEADER_HANDLE>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 100, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":98
 *     def header(self, cHeader value):
 *         if value is None:
 *             if c_message.message_set_header(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":97
 *     @header.setter
 *     def header(self, cHeader value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_header(
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":102
 *                     self._value_error()
 *         elif c_message.message_set_header(
 *             self._c_value, <c_amqp_definitions.HEADER_HANDLE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_header(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/message.pyx":101
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_header(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.HEADER_HANDLE>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":103
 *         elif c_message.message_set_header(
 *             self._c_value, <c_amqp_definitions.HEADER_HANDLE>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":101
 *                 self._c_value, <c_amqp_definitions.HEADER_HANDLE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_header(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.HEADER_HANDLE>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":96
 * 
 *     @header.setter
 *     def header(self, cHeader value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_header(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.header.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":106
 * 
 *     @property
 *     def delivery_annotations(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  delivery_annotations __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":108
 *     def delivery_annotations(self):
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_delivery_annotations(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":109
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cDeliveryAnnotations()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":110
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cDeliveryAnnotations()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":109
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cDeliveryAnnotations()
 */
    }

    /* "src/message.pyx":111
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cDeliveryAnnotations()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cDeliveryAnnotations)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":112
 *                 return None
 *             new_obj = cDeliveryAnnotations()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_new_obj->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_new_obj), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":113
 *             new_obj = cDeliveryAnnotations()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":108
 *     def delivery_annotations(self):
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":115
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @delivery_annotations.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":106
 * 
 *     @property
 *     def delivery_annotations(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.delivery_annotations value
 *         if c_message.message_get_delivery_annotations(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.delivery_annotations.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":118
 * 
 *     @delivery_annotations.setter
 *     def delivery_annotations(self, cDeliveryAnnotations value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_delivery_annotations(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cDeliveryAnnotations, 1, "value", 0))) __PYX_ERR(0, 118, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":119
 *     @delivery_annotations.setter
 *     def delivery_annotations(self, cDeliveryAnnotations value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_delivery_annotations(
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":121
 *         if value is None:
 *             if c_message.message_set_delivery_annotations(
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_delivery_annotations(
 */
    __pyx_t_2 = ((message_set_delivery_annotations(__pyx_v_self->_c_value, ((delivery_annotations)NULL)) != 0) != 0);

    /* "src/message.pyx":120
 *     def delivery_annotations(self, cDeliveryAnnotations value):
 *         if value is None:
 *             if c_message.message_set_delivery_annotations(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":122
 *             if c_message.message_set_delivery_annotations(
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_delivery_annotations(
 *             self._c_value, <c_amqp_definitions.delivery_annotations>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":120
 *     def delivery_annotations(self, cDeliveryAnnotations value):
 *         if value is None:
 *             if c_message.message_set_delivery_annotations(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":119
 *     @delivery_annotations.setter
 *     def delivery_annotations(self, cDeliveryAnnotations value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_delivery_annotations(
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":124
 *                     self._value_error()
 *         elif c_message.message_set_delivery_annotations(
 *             self._c_value, <c_amqp_definitions.delivery_annotations>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_delivery_annotations(__pyx_v_self->_c_value, ((delivery_annotations)__pyx_v_value->__pyx_base._c_value)) != 0) != 0);

  /* "src/message.pyx":123
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_delivery_annotations(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.delivery_annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":125
 *         elif c_message.message_set_delivery_annotations(
 *             self._c_value, <c_amqp_definitions.delivery_annotations>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":123
 *                 self._c_value, <c_amqp_definitions.delivery_annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_delivery_annotations(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.delivery_annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":118
 * 
 *     @delivery_annotations.setter
 *     def delivery_annotations(self, cDeliveryAnnotations value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_delivery_annotations(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.delivery_annotations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":128
 * 
 *     @property
 *     def message_annotations(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  message_annotations __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":130
 *     def message_annotations(self):
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_message_annotations(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":131
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cMessageAnnotations()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":132
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cMessageAnnotations()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":131
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cMessageAnnotations()
 */
    }

    /* "src/message.pyx":133
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cMessageAnnotations()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageAnnotations)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":134
 *                 return None
 *             new_obj = cMessageAnnotations()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_new_obj->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_new_obj), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":135
 *             new_obj = cMessageAnnotations()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":130
 *     def message_annotations(self):
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":137
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @message_annotations.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":128
 * 
 *     @property
 *     def message_annotations(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.message_annotations value
 *         if c_message.message_get_message_annotations(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.message_annotations.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":140
 * 
 *     @message_annotations.setter
 *     def message_annotations(self, cMessageAnnotations value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_message_annotations(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cMessageAnnotations, 1, "value", 0))) __PYX_ERR(0, 140, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_19message_annotations_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":141
 *     @message_annotations.setter
 *     def message_annotations(self, cMessageAnnotations value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_message_annotations(
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":143
 *         if value is None:
 *             if c_message.message_set_message_annotations(
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_message_annotations(
 */
    __pyx_t_2 = ((message_set_message_annotations(__pyx_v_self->_c_value, ((message_annotations)NULL)) != 0) != 0);

    /* "src/message.pyx":142
 *     def message_annotations(self, cMessageAnnotations value):
 *         if value is None:
 *             if c_message.message_set_message_annotations(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":144
 *             if c_message.message_set_message_annotations(
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_message_annotations(
 *             self._c_value, <c_amqp_definitions.message_annotations>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":142
 *     def message_annotations(self, cMessageAnnotations value):
 *         if value is None:
 *             if c_message.message_set_message_annotations(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":141
 *     @message_annotations.setter
 *     def message_annotations(self, cMessageAnnotations value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_message_annotations(
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":146
 *                     self._value_error()
 *         elif c_message.message_set_message_annotations(
 *             self._c_value, <c_amqp_definitions.message_annotations>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_message_annotations(__pyx_v_self->_c_value, ((message_annotations)__pyx_v_value->__pyx_base._c_value)) != 0) != 0);

  /* "src/message.pyx":145
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_message_annotations(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.message_annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":147
 *         elif c_message.message_set_message_annotations(
 *             self._c_value, <c_amqp_definitions.message_annotations>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":145
 *                 self._c_value, <c_amqp_definitions.message_annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_message_annotations(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.message_annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":140
 * 
 *     @message_annotations.setter
 *     def message_annotations(self, cMessageAnnotations value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_message_annotations(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.message_annotations.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":150
 * 
 *     @property
 *     def properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PROPERTIES_HANDLE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":152
 *     def properties(self):
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_properties(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":153
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cProperties()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":154
 *         if c_message.message_get_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cProperties()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":153
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cProperties()
 */
    }

    /* "src/message.pyx":155
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cProperties()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cProperties)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":156
 *                 return None
 *             new_obj = cProperties()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_new_obj->__pyx_vtab)->wrap(__pyx_v_new_obj, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":157
 *             new_obj = cProperties()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":152
 *     def properties(self):
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":159
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @properties.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":150
 * 
 *     @property
 *     def properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         if c_message.message_get_properties(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.properties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":162
 * 
 *     @properties.setter
 *     def properties(self, cProperties value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_properties(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cProperties, 1, "value", 0))) __PYX_ERR(0, 162, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_10properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":163
 *     @properties.setter
 *     def properties(self, cProperties value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_properties(
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":165
 *         if value is None:
 *             if c_message.message_set_properties(
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_properties(
 */
    __pyx_t_2 = ((message_set_properties(__pyx_v_self->_c_value, NULL) != 0) != 0);

    /* "src/message.pyx":164
 *     def properties(self, cProperties value):
 *         if value is None:
 *             if c_message.message_set_properties(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":166
 *             if c_message.message_set_properties(
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_properties(
 *             self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":164
 *     def properties(self, cProperties value):
 *         if value is None:
 *             if c_message.message_set_properties(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":163
 *     @properties.setter
 *     def properties(self, cProperties value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_properties(
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":168
 *                     self._value_error()
 *         elif c_message.message_set_properties(
 *             self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_properties(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/message.pyx":167
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_properties(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":169
 *         elif c_message.message_set_properties(
 *             self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":167
 *                 self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_properties(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.PROPERTIES_HANDLE>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":162
 * 
 *     @properties.setter
 *     def properties(self, cProperties value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_properties(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.properties.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":172
 * 
 *     @property
 *     def application_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  AMQP_VALUE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":174
 *     def application_properties(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_application_properties(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":175
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cApplicationProperties()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":176
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cApplicationProperties()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":175
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cApplicationProperties()
 */
    }

    /* "src/message.pyx":177
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cApplicationProperties()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cApplicationProperties)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":178
 *                 return None
 *             new_obj = cApplicationProperties()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties *)__pyx_v_new_obj->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_new_obj), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":179
 *             new_obj = cApplicationProperties()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":174
 *     def application_properties(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":181
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @application_properties.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":172
 * 
 *     @property
 *     def application_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_application_properties(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.application_properties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":184
 * 
 *     @application_properties.setter
 *     def application_properties(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_application_properties(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(0, 184, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_22application_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":185
 *     @application_properties.setter
 *     def application_properties(self, AMQPValue value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_application_properties(
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":187
 *         if value is None:
 *             if c_message.message_set_application_properties(
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_application_properties(
 */
    __pyx_t_2 = ((message_set_application_properties(__pyx_v_self->_c_value, NULL) != 0) != 0);

    /* "src/message.pyx":186
 *     def application_properties(self, AMQPValue value):
 *         if value is None:
 *             if c_message.message_set_application_properties(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":188
 *             if c_message.message_set_application_properties(
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_application_properties(
 *             self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 188, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":186
 *     def application_properties(self, AMQPValue value):
 *         if value is None:
 *             if c_message.message_set_application_properties(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":185
 *     @application_properties.setter
 *     def application_properties(self, AMQPValue value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_application_properties(
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":190
 *                     self._value_error()
 *         elif c_message.message_set_application_properties(
 *             self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_application_properties(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/message.pyx":189
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_application_properties(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":191
 *         elif c_message.message_set_application_properties(
 *             self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":189
 *                 self._c_value, <c_amqpvalue.AMQP_VALUE>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_application_properties(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":184
 * 
 *     @application_properties.setter
 *     def application_properties(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_application_properties(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.application_properties.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":194
 * 
 *     @property
 *     def footer(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  annotations __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":196
 *     def footer(self):
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_footer(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":197
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cFooter()
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":198
 *         if c_message.message_get_footer(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             new_obj = cFooter()
 *             new_obj.wrap(value)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":197
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             new_obj = cFooter()
 */
    }

    /* "src/message.pyx":199
 *             if <void*>value == NULL:
 *                 return None
 *             new_obj = cFooter()             # <<<<<<<<<<<<<<
 *             new_obj.wrap(value)
 *             return new_obj
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cFooter)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/message.pyx":200
 *                 return None
 *             new_obj = cFooter()
 *             new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *             return new_obj
 *         else:
 */
    __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter *)__pyx_v_new_obj->__pyx_base.__pyx_vtab)->__pyx_base.wrap(((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)__pyx_v_new_obj), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":201
 *             new_obj = cFooter()
 *             new_obj.wrap(value)
 *             return new_obj             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
    __pyx_r = ((PyObject *)__pyx_v_new_obj);
    goto __pyx_L0;

    /* "src/message.pyx":196
 *     def footer(self):
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":203
 *             return new_obj
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @footer.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":194
 * 
 *     @property
 *     def footer(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.annotations value
 *         if c_message.message_get_footer(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.footer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":206
 * 
 *     @footer.setter
 *     def footer(self, cFooter value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_footer(
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cFooter, 1, "value", 0))) __PYX_ERR(0, 206, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_6footer_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFooter *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":207
 *     @footer.setter
 *     def footer(self, cFooter value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_footer(
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_value) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":209
 *         if value is None:
 *             if c_message.message_set_footer(
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:             # <<<<<<<<<<<<<<
 *                     self._value_error()
 *         elif c_message.message_set_footer(
 */
    __pyx_t_2 = ((message_set_footer(__pyx_v_self->_c_value, ((annotations)NULL)) != 0) != 0);

    /* "src/message.pyx":208
 *     def footer(self, cFooter value):
 *         if value is None:
 *             if c_message.message_set_footer(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 *                     self._value_error()
 */
    if (__pyx_t_2) {

      /* "src/message.pyx":210
 *             if c_message.message_set_footer(
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 *                     self._value_error()             # <<<<<<<<<<<<<<
 *         elif c_message.message_set_footer(
 *             self._c_value, <c_amqp_definitions.annotations>value._c_value) != 0:
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (__pyx_t_5) {
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":208
 *     def footer(self, cFooter value):
 *         if value is None:
 *             if c_message.message_set_footer(             # <<<<<<<<<<<<<<
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 *                     self._value_error()
 */
    }

    /* "src/message.pyx":207
 *     @footer.setter
 *     def footer(self, cFooter value):
 *         if value is None:             # <<<<<<<<<<<<<<
 *             if c_message.message_set_footer(
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":212
 *                     self._value_error()
 *         elif c_message.message_set_footer(
 *             self._c_value, <c_amqp_definitions.annotations>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_2 = ((message_set_footer(__pyx_v_self->_c_value, ((annotations)__pyx_v_value->__pyx_base._c_value)) != 0) != 0);

  /* "src/message.pyx":211
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_footer(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  if (__pyx_t_2) {

    /* "src/message.pyx":213
 *         elif c_message.message_set_footer(
 *             self._c_value, <c_amqp_definitions.annotations>value._c_value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message.pyx":211
 *                 self._c_value, <c_amqp_definitions.annotations>NULL) != 0:
 *                     self._value_error()
 *         elif c_message.message_set_footer(             # <<<<<<<<<<<<<<
 *             self._c_value, <c_amqp_definitions.annotations>value._c_value) != 0:
 *                 self._value_error()
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":206
 * 
 *     @footer.setter
 *     def footer(self, cFooter value):             # <<<<<<<<<<<<<<
 *         if value is None:
 *             if c_message.message_set_footer(
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.footer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":216
 * 
 *     @property
 *     def body_type(self):             # <<<<<<<<<<<<<<
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG value
 *         if c_message.message_get_body_type(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_9body_type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_9body_type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_9body_type___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_9body_type___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  enum MESSAGE_BODY_TYPE_TAG __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":218
 *     def body_type(self):
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG value
 *         if c_message.message_get_body_type(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             return MessageBodyType(value)
 *         else:
 */
  __pyx_t_1 = ((message_get_body_type(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":219
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG value
 *         if c_message.message_get_body_type(self._c_value, &value) == 0:
 *             return MessageBodyType(value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_MessageBodyType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 219, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":218
 *     def body_type(self):
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG value
 *         if c_message.message_get_body_type(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             return MessageBodyType(value)
 *         else:
 */
  }

  /* "src/message.pyx":221
 *             return MessageBodyType(value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_6) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":216
 * 
 *     @property
 *     def body_type(self):             # <<<<<<<<<<<<<<
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG value
 *         if c_message.message_get_body_type(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.body_type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":224
 * 
 *     @property
 *     def message_format(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_message.message_get_message_format(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":226
 *     def message_format(self):
 *         cdef stdint.uint32_t value
 *         if c_message.message_get_message_format(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             return value
 *         else:
 */
  __pyx_t_1 = ((message_get_message_format(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":227
 *         cdef stdint.uint32_t value
 *         if c_message.message_get_message_format(self._c_value, &value) == 0:
 *             return value             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":226
 *     def message_format(self):
 *         cdef stdint.uint32_t value
 *         if c_message.message_get_message_format(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             return value
 *         else:
 */
  }

  /* "src/message.pyx":229
 *             return value
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @message_format.setter
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":224
 * 
 *     @property
 *     def message_format(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_message.message_get_message_format(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.message_format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":232
 * 
 *     @message_format.setter
 *     def message_format(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_message_format(self._c_value, value) != 0:
 *                 self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.message_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cMessage_14message_format_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, uint32_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/message.pyx":233
 *     @message_format.setter
 *     def message_format(self, stdint.uint32_t value):
 *         if c_message.message_set_message_format(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  __pyx_t_1 = ((message_set_message_format(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":234
 *     def message_format(self, stdint.uint32_t value):
 *         if c_message.message_set_message_format(self._c_value, value) != 0:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message.pyx":233
 *     @message_format.setter
 *     def message_format(self, stdint.uint32_t value):
 *         if c_message.message_set_message_format(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 * 
 */
  }

  /* "src/message.pyx":232
 * 
 *     @message_format.setter
 *     def message_format(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_message_format(self._c_value, value) != 0:
 *                 self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.message_format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":237
 * 
 *     @property
 *     def delivery_tag(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_12delivery_tag_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_12delivery_tag_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_12delivery_tag___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_12delivery_tag___get__(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  AMQP_VALUE __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/message.pyx":239
 *     def delivery_tag(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((message_get_delivery_tag(__pyx_v_self->_c_value, (&__pyx_v_value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":240
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return value_factory(value)
 */
    __pyx_t_1 = ((((void *)__pyx_v_value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/message.pyx":241
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:
 *             if <void*>value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return value_factory(value)
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/message.pyx":240
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:
 *             if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return value_factory(value)
 */
    }

    /* "src/message.pyx":242
 *             if <void*>value == NULL:
 *                 return None
 *             return value_factory(value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":239
 *     def delivery_tag(self):
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>value == NULL:
 *                 return None
 */
  }

  /* "src/message.pyx":244
 *             return value_factory(value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef add_body_data(self, bytes value):
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/message.pyx":237
 * 
 *     @property
 *     def delivery_tag(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         if c_message.message_get_delivery_tag(self._c_value, &value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.delivery_tag.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":246
 *             self._value_error()
 * 
 *     cpdef add_body_data(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef c_message.BINARY_DATA _binary
 *         length = len(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_9add_body_data(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, PyObject *__pyx_v_value, int __pyx_skip_dispatch) {
  BINARY_DATA __pyx_v__binary;
  Py_ssize_t __pyx_v_length;
  PyObject *__pyx_v_bytes = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  unsigned char const *__pyx_t_7;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("add_body_data", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_body_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_9add_body_data)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_value};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_value};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_value);
          __Pyx_GIVEREF(__pyx_v_value);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_value);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":248
 *     cpdef add_body_data(self, bytes value):
 *         cdef c_message.BINARY_DATA _binary
 *         length = len(value)             # <<<<<<<<<<<<<<
 *         bytes = value[:length]
 *         _binary.length = length
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 248, __pyx_L1_error)
  }
  __pyx_t_6 = PyBytes_GET_SIZE(__pyx_v_value); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 248, __pyx_L1_error)
  __pyx_v_length = __pyx_t_6;

  /* "src/message.pyx":249
 *         cdef c_message.BINARY_DATA _binary
 *         length = len(value)
 *         bytes = value[:length]             # <<<<<<<<<<<<<<
 *         _binary.length = length
 *         _binary.bytes = bytes
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 249, __pyx_L1_error)
  }
  __pyx_t_1 = PySequence_GetSlice(__pyx_v_value, 0, __pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_bytes = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message.pyx":250
 *         length = len(value)
 *         bytes = value[:length]
 *         _binary.length = length             # <<<<<<<<<<<<<<
 *         _binary.bytes = bytes
 *         if c_message.message_add_body_amqp_data(self._c_value, _binary) != 0:
 */
  __pyx_v__binary.length = __pyx_v_length;

  /* "src/message.pyx":251
 *         bytes = value[:length]
 *         _binary.length = length
 *         _binary.bytes = bytes             # <<<<<<<<<<<<<<
 *         if c_message.message_add_body_amqp_data(self._c_value, _binary) != 0:
 *             self._value_error()
 */
  __pyx_t_7 = __Pyx_PyBytes_AsUString(__pyx_v_bytes); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 251, __pyx_L1_error)
  __pyx_v__binary.bytes = __pyx_t_7;

  /* "src/message.pyx":252
 *         _binary.length = length
 *         _binary.bytes = bytes
 *         if c_message.message_add_body_amqp_data(self._c_value, _binary) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_8 = ((message_add_body_amqp_data(__pyx_v_self->_c_value, __pyx_v__binary) != 0) != 0);
  if (__pyx_t_8) {

    /* "src/message.pyx":253
 *         _binary.bytes = bytes
 *         if c_message.message_add_body_amqp_data(self._c_value, _binary) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_body_data(self, size_t index):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":252
 *         _binary.length = length
 *         _binary.bytes = bytes
 *         if c_message.message_add_body_amqp_data(self._c_value, _binary) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message.pyx":246
 *             self._value_error()
 * 
 *     cpdef add_body_data(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef c_message.BINARY_DATA _binary
 *         length = len(value)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.add_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_bytes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_9add_body_data(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_9add_body_data(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_body_data (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyBytes_Type), 1, "value", 1))) __PYX_ERR(0, 246, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_8add_body_data(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_8add_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("add_body_data", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_data(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.add_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":255
 *             self._value_error()
 * 
 *     cpdef get_body_data(self, size_t index):             # <<<<<<<<<<<<<<
 *         cdef c_message.BINARY_DATA _value
 *         if c_message.message_get_body_amqp_data_in_place(self._c_value, index, &_value) == 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_11get_body_data(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index, int __pyx_skip_dispatch) {
  BINARY_DATA __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("get_body_data", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_body_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_11get_body_data)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 255, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":257
 *     cpdef get_body_data(self, size_t index):
 *         cdef c_message.BINARY_DATA _value
 *         if c_message.message_get_body_amqp_data_in_place(self._c_value, index, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value.bytes[:_value.length]
 *         else:
 */
  __pyx_t_7 = ((message_get_body_amqp_data_in_place(__pyx_v_self->_c_value, __pyx_v_index, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_7) {

    /* "src/message.pyx":258
 *         cdef c_message.BINARY_DATA _value
 *         if c_message.message_get_body_amqp_data_in_place(self._c_value, index, &_value) == 0:
 *             return _value.bytes[:_value.length]             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v__value.bytes) + 0, __pyx_v__value.length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":257
 *     cpdef get_body_data(self, size_t index):
 *         cdef c_message.BINARY_DATA _value
 *         if c_message.message_get_body_amqp_data_in_place(self._c_value, index, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return _value.bytes[:_value.length]
 *         else:
 */
  }

  /* "src/message.pyx":260
 *             return _value.bytes[:_value.length]
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef count_body_data(self):
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":255
 *             self._value_error()
 * 
 *     cpdef get_body_data(self, size_t index):             # <<<<<<<<<<<<<<
 *         cdef c_message.BINARY_DATA _value
 *         if c_message.message_get_body_amqp_data_in_place(self._c_value, index, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_11get_body_data(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_11get_body_data(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  size_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_body_data (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_size_t(__pyx_arg_index); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_10get_body_data(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((size_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_10get_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_body_data", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_data(__pyx_v_self, __pyx_v_index, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":262
 *             self._value_error()
 * 
 *     cpdef count_body_data(self):             # <<<<<<<<<<<<<<
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_data_count(self._c_value, &body_count) == 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_13count_body_data(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch) {
  size_t __pyx_v_body_count;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("count_body_data", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_count_body_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_13count_body_data)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":264
 *     cpdef count_body_data(self):
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_data_count(self._c_value, &body_count) == 0:             # <<<<<<<<<<<<<<
 *             return body_count
 *         else:
 */
  __pyx_t_5 = ((message_get_body_amqp_data_count(__pyx_v_self->_c_value, (&__pyx_v_body_count)) == 0) != 0);
  if (__pyx_t_5) {

    /* "src/message.pyx":265
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_data_count(self._c_value, &body_count) == 0:
 *             return body_count             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_body_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":264
 *     cpdef count_body_data(self):
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_data_count(self._c_value, &body_count) == 0:             # <<<<<<<<<<<<<<
 *             return body_count
 *         else:
 */
  }

  /* "src/message.pyx":267
 *             return body_count
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_body_value(self, AMQPValue value):
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":262
 *             self._value_error()
 * 
 *     cpdef count_body_data(self):             # <<<<<<<<<<<<<<
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_data_count(self._c_value, &body_count) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.count_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_13count_body_data(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_13count_body_data(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("count_body_data (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_12count_body_data(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_12count_body_data(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("count_body_data", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_data(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.count_body_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":269
 *             self._value_error()
 * 
 *     cpdef set_body_value(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_body_amqp_value(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_15set_body_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_set_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("set_body_value", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_body_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_15set_body_value)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_value)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_value));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_value));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_value));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":270
 * 
 *     cpdef set_body_value(self, AMQPValue value):
 *         if c_message.message_set_body_amqp_value(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_6 = ((message_set_body_amqp_value(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/message.pyx":271
 *     cpdef set_body_value(self, AMQPValue value):
 *         if c_message.message_set_body_amqp_value(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_body_value(self):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":270
 * 
 *     cpdef set_body_value(self, AMQPValue value):
 *         if c_message.message_set_body_amqp_value(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message.pyx":269
 *             self._value_error()
 * 
 *     cpdef set_body_value(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_body_amqp_value(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.set_body_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_15set_body_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_15set_body_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_body_value (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(0, 269, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_14set_body_value(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_14set_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_body_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_set_body_value(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.set_body_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":273
 *             self._value_error()
 * 
 *     cpdef get_body_value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_17get_body_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v__value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("get_body_value", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_body_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_17get_body_value)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":276
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_message.message_get_body_amqp_value_in_place(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
  __pyx_t_5 = ((message_get_body_amqp_value_in_place(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/message.pyx":277
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_message.message_get_body_amqp_value_in_place(self._c_value, &_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 *         if <void*>cloned == NULL:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":276
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_message.message_get_body_amqp_value_in_place(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
  }

  /* "src/message.pyx":278
 *         if c_message.message_get_body_amqp_value_in_place(self._c_value, &_value) != 0:
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)             # <<<<<<<<<<<<<<
 *         if <void*>cloned == NULL:
 *             self._value_error()
 */
  __pyx_v_cloned = amqpvalue_clone(__pyx_v__value);

  /* "src/message.pyx":279
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  __pyx_t_5 = ((((void *)__pyx_v_cloned) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/message.pyx":280
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 *         if <void*>cloned == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value_factory(cloned)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":279
 *             self._value_error()
 *         cloned = c_amqpvalue.amqpvalue_clone(_value)
 *         if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value_factory(cloned)
 */
  }

  /* "src/message.pyx":281
 *         if <void*>cloned == NULL:
 *             self._value_error()
 *         return value_factory(cloned)             # <<<<<<<<<<<<<<
 * 
 *     cpdef add_body_sequence(self, AMQPValue sequence):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":273
 *             self._value_error()
 * 
 *     cpdef get_body_value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_17get_body_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_17get_body_value(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_body_value (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_16get_body_value(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_16get_body_value(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_body_value", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_value(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":283
 *         return value_factory(cloned)
 * 
 *     cpdef add_body_sequence(self, AMQPValue sequence):             # <<<<<<<<<<<<<<
 *         if c_message.message_add_body_amqp_sequence(self._c_value, <c_amqpvalue.AMQP_VALUE>sequence._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_19add_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_v_sequence); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("add_body_sequence", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_body_sequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_19add_body_sequence)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_sequence)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_sequence)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_sequence)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_sequence));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_sequence));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_sequence));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":284
 * 
 *     cpdef add_body_sequence(self, AMQPValue sequence):
 *         if c_message.message_add_body_amqp_sequence(self._c_value, <c_amqpvalue.AMQP_VALUE>sequence._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_6 = ((message_add_body_amqp_sequence(__pyx_v_self->_c_value, __pyx_v_sequence->_c_value) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/message.pyx":285
 *     cpdef add_body_sequence(self, AMQPValue sequence):
 *         if c_message.message_add_body_amqp_sequence(self._c_value, <c_amqpvalue.AMQP_VALUE>sequence._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef get_body_sequence(self, size_t index):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message.pyx":284
 * 
 *     cpdef add_body_sequence(self, AMQPValue sequence):
 *         if c_message.message_add_body_amqp_sequence(self._c_value, <c_amqpvalue.AMQP_VALUE>sequence._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message.pyx":283
 *         return value_factory(cloned)
 * 
 *     cpdef add_body_sequence(self, AMQPValue sequence):             # <<<<<<<<<<<<<<
 *         if c_message.message_add_body_amqp_sequence(self._c_value, <c_amqpvalue.AMQP_VALUE>sequence._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.add_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_19add_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_v_sequence); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_19add_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_v_sequence) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("add_body_sequence (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sequence), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "sequence", 0))) __PYX_ERR(0, 283, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_18add_body_sequence(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_sequence));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_18add_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_sequence) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("add_body_sequence", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_sequence(__pyx_v_self, __pyx_v_sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.add_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":287
 *             self._value_error()
 * 
 *     cpdef get_body_sequence(self, size_t index):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_message.message_get_body_amqp_sequence_in_place(self._c_value, index, &_value) == 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_21get_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("get_body_sequence", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_body_sequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_21get_body_sequence)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 287, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":289
 *     cpdef get_body_sequence(self, size_t index):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_message.message_get_body_amqp_sequence_in_place(self._c_value, index, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return value_factory(_value)
 *         else:
 */
  __pyx_t_7 = ((message_get_body_amqp_sequence_in_place(__pyx_v_self->_c_value, __pyx_v_index, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_7) {

    /* "src/message.pyx":290
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_message.message_get_body_amqp_sequence_in_place(self._c_value, index, &_value) == 0:
 *             return value_factory(_value)             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":289
 *     cpdef get_body_sequence(self, size_t index):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_message.message_get_body_amqp_sequence_in_place(self._c_value, index, &_value) == 0:             # <<<<<<<<<<<<<<
 *             return value_factory(_value)
 *         else:
 */
  }

  /* "src/message.pyx":292
 *             return value_factory(_value)
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef count_body_sequence(self):
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":287
 *             self._value_error()
 * 
 *     cpdef get_body_sequence(self, size_t index):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_message.message_get_body_amqp_sequence_in_place(self._c_value, index, &_value) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_21get_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_21get_body_sequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
  size_t __pyx_v_index;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_body_sequence (wrapper)", 0);
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_As_size_t(__pyx_arg_index); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 287, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_20get_body_sequence(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((size_t)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_20get_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, size_t __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_body_sequence", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_sequence(__pyx_v_self, __pyx_v_index, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.get_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":294
 *             self._value_error()
 * 
 *     cpdef count_body_sequence(self):             # <<<<<<<<<<<<<<
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_sequence_count(self._c_value, &body_count) == 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_23count_body_sequence(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, int __pyx_skip_dispatch) {
  size_t __pyx_v_body_count;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("count_body_sequence", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_count_body_sequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_23count_body_sequence)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":296
 *     cpdef count_body_sequence(self):
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_sequence_count(self._c_value, &body_count) == 0:             # <<<<<<<<<<<<<<
 *             return body_count
 *         else:
 */
  __pyx_t_5 = ((message_get_body_amqp_sequence_count(__pyx_v_self->_c_value, (&__pyx_v_body_count)) == 0) != 0);
  if (__pyx_t_5) {

    /* "src/message.pyx":297
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_sequence_count(self._c_value, &body_count) == 0:
 *             return body_count             # <<<<<<<<<<<<<<
 *         else:
 *             self._value_error()
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_body_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/message.pyx":296
 *     cpdef count_body_sequence(self):
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_sequence_count(self._c_value, &body_count) == 0:             # <<<<<<<<<<<<<<
 *             return body_count
 *         else:
 */
  }

  /* "src/message.pyx":299
 *             return body_count
 *         else:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message.pyx":294
 *             self._value_error()
 * 
 *     cpdef count_body_sequence(self):             # <<<<<<<<<<<<<<
 *         cdef size_t body_count
 *         if c_message.message_get_body_amqp_sequence_count(self._c_value, &body_count) == 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.count_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_23count_body_sequence(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_23count_body_sequence(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("count_body_sequence (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_22count_body_sequence(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_22count_body_sequence(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("count_body_sequence", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_sequence(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.count_body_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_24__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__141, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cMessage_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cMessage_26__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cMessage_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__142, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessage.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":305
 * 
 *     @staticmethod
 *     def create_source(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_1create_source(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_1create_source = {"create_source", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_1create_source, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_1create_source(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_address;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_source (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_address,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_address)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_source") < 0)) __PYX_ERR(0, 305, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_address = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_address) && PyErr_Occurred())) __PYX_ERR(0, 305, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_source", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 305, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.create_source", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_create_source(__pyx_v_address);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_create_source(char const *__pyx_v_address) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("create_source", 0);

  /* "src/message.pyx":307
 *     def create_source(const char* address):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging source.")
 */
  __pyx_v__value = messaging_create_source(__pyx_v_address);

  /* "src/message.pyx":308
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for messaging source.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":309
 *         _value = c_message.messaging_create_source(address)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging source.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__143, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 309, __pyx_L1_error)

    /* "src/message.pyx":308
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for messaging source.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":310
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging source.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":305
 * 
 *     @staticmethod
 *     def create_source(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.create_source", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":313
 * 
 *     @staticmethod
 *     def create_target(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_3create_target(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_3create_target = {"create_target", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_3create_target, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_3create_target(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_address;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_target (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_address,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_address)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_target") < 0)) __PYX_ERR(0, 313, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_address = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_address) && PyErr_Occurred())) __PYX_ERR(0, 313, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_target", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 313, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.create_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_2create_target(__pyx_v_address);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_2create_target(char const *__pyx_v_address) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("create_target", 0);

  /* "src/message.pyx":315
 *     def create_target(const char* address):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging target.")
 */
  __pyx_v__value = messaging_create_target(__pyx_v_address);

  /* "src/message.pyx":316
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for messaging target.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":317
 *         _value = c_message.messaging_create_target(address)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging target.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__144, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 317, __pyx_L1_error)

    /* "src/message.pyx":316
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for messaging target.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":318
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging target.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":313
 * 
 *     @staticmethod
 *     def create_target(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.create_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":321
 * 
 *     @staticmethod
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_5delivery_received(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_5delivery_received = {"delivery_received", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_5delivery_received, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_5delivery_received(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_section_number;
  uint64_t __pyx_v_section_offset;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delivery_received (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_section_number,&__pyx_n_s_section_offset,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_section_number)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_section_offset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("delivery_received", 1, 2, 2, 1); __PYX_ERR(0, 321, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delivery_received") < 0)) __PYX_ERR(0, 321, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_section_number = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_section_number == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L3_error)
    __pyx_v_section_offset = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_section_offset == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delivery_received", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 321, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_received", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_4delivery_received(__pyx_v_section_number, __pyx_v_section_offset);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_4delivery_received(uint32_t __pyx_v_section_number, uint64_t __pyx_v_section_offset) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("delivery_received", 0);

  /* "src/message.pyx":323
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for received delivery.")
 */
  __pyx_v__value = messaging_delivery_received(__pyx_v_section_number, __pyx_v_section_offset);

  /* "src/message.pyx":324
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for received delivery.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":325
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for received delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__145, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 325, __pyx_L1_error)

    /* "src/message.pyx":324
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for received delivery.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":326
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for received delivery.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":321
 * 
 *     @staticmethod
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_received", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":329
 * 
 *     @staticmethod
 *     def delivery_accepted():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_7delivery_accepted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_7delivery_accepted = {"delivery_accepted", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_7delivery_accepted, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_7delivery_accepted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delivery_accepted (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("delivery_accepted", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "delivery_accepted", 0))) return NULL;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_6delivery_accepted();

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_6delivery_accepted(void) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("delivery_accepted", 0);

  /* "src/message.pyx":331
 *     def delivery_accepted():
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")
 */
  __pyx_v__value = messaging_delivery_accepted();

  /* "src/message.pyx":332
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":333
 *         _value = c_message.messaging_delivery_accepted()
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__146, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 333, __pyx_L1_error)

    /* "src/message.pyx":332
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":334
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":329
 * 
 *     @staticmethod
 *     def delivery_accepted():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_accepted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":337
 * 
 *     @staticmethod
 *     def delivery_rejected(const char* error_condition, const char* error_description, cFields error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_9delivery_rejected(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_9delivery_rejected = {"delivery_rejected", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_9delivery_rejected, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_9delivery_rejected(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_error_condition;
  char const *__pyx_v_error_description;
  struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_error_info = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delivery_rejected (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error_condition,&__pyx_n_s_error_description,&__pyx_n_s_error_info,0};
    PyObject* values[3] = {0,0,0};
    values[2] = (PyObject *)((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_condition)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("delivery_rejected", 0, 2, 3, 1); __PYX_ERR(0, 337, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_info);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delivery_rejected") < 0)) __PYX_ERR(0, 337, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_error_condition = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_error_condition) && PyErr_Occurred())) __PYX_ERR(0, 337, __pyx_L3_error)
    __pyx_v_error_description = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_error_description) && PyErr_Occurred())) __PYX_ERR(0, 337, __pyx_L3_error)
    __pyx_v_error_info = ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delivery_rejected", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 337, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_rejected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_error_info), __pyx_ptype_5uamqp_7c_uamqp_cFields, 1, "error_info", 0))) __PYX_ERR(0, 337, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_8delivery_rejected(__pyx_v_error_condition, __pyx_v_error_description, __pyx_v_error_info);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_8delivery_rejected(char const *__pyx_v_error_condition, char const *__pyx_v_error_description, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_error_info) {
  AMQP_VALUE __pyx_v__value;
  fields __pyx_v_delivery_fields;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("delivery_rejected", 0);

  /* "src/message.pyx":340
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 *         if error_info is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_error_info) != Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/message.pyx":341
 * 
 *         if error_info is not None:
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value             # <<<<<<<<<<<<<<
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 */
    __pyx_v_delivery_fields = ((fields)__pyx_v_error_info->__pyx_base._c_value);

    /* "src/message.pyx":340
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 *         if error_info is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":343
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL             # <<<<<<<<<<<<<<
 * 
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 */
  /*else*/ {
    __pyx_v_delivery_fields = ((fields)NULL);
  }
  __pyx_L3:;

  /* "src/message.pyx":345
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 * 
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")
 */
  __pyx_v__value = messaging_delivery_rejected(__pyx_v_error_condition, __pyx_v_error_description, __pyx_v_delivery_fields);

  /* "src/message.pyx":346
 * 
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")
 *         return value_factory(_value)
 */
  __pyx_t_2 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "src/message.pyx":347
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__147, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 347, __pyx_L1_error)

    /* "src/message.pyx":346
 * 
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":348
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":337
 * 
 *     @staticmethod
 *     def delivery_rejected(const char* error_condition, const char* error_description, cFields error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_rejected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":351
 * 
 *     @staticmethod
 *     def delivery_released():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_11delivery_released(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_11delivery_released = {"delivery_released", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_11delivery_released, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_11delivery_released(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delivery_released (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("delivery_released", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "delivery_released", 0))) return NULL;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_10delivery_released();

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_10delivery_released(void) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("delivery_released", 0);

  /* "src/message.pyx":353
 *     def delivery_released():
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for released delivery.")
 */
  __pyx_v__value = messaging_delivery_released();

  /* "src/message.pyx":354
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for released delivery.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":355
 *         _value = c_message.messaging_delivery_released()
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for released delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__148, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 355, __pyx_L1_error)

    /* "src/message.pyx":354
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for released delivery.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":356
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for released delivery.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":351
 * 
 *     @staticmethod
 *     def delivery_released():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_released", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":359
 * 
 *     @staticmethod
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):             # <<<<<<<<<<<<<<
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_13delivery_modified(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_9Messaging_13delivery_modified = {"delivery_modified", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_13delivery_modified, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_13delivery_modified(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_delivery_failed;
  int __pyx_v_undeliverable_here;
  struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_message_annotations = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delivery_modified (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_delivery_failed,&__pyx_n_s_undeliverable_here,&__pyx_n_s_message_annotations,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delivery_failed)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_undeliverable_here)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("delivery_modified", 1, 3, 3, 1); __PYX_ERR(0, 359, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message_annotations)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("delivery_modified", 1, 3, 3, 2); __PYX_ERR(0, 359, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delivery_modified") < 0)) __PYX_ERR(0, 359, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_delivery_failed = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_delivery_failed == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L3_error)
    __pyx_v_undeliverable_here = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_undeliverable_here == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L3_error)
    __pyx_v_message_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delivery_modified", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 359, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_modified", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_message_annotations), __pyx_ptype_5uamqp_7c_uamqp_cFields, 1, "message_annotations", 0))) __PYX_ERR(0, 359, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_12delivery_modified(__pyx_v_delivery_failed, __pyx_v_undeliverable_here, __pyx_v_message_annotations);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_12delivery_modified(int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_message_annotations) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("delivery_modified", 0);

  /* "src/message.pyx":360
 *     @staticmethod
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_delivery_failed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_undeliverable_here); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_delivery_modified_r_r, __pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
    PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_s_delivery_modified_r_r, __pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_5) {
      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
    }
    __Pyx_INCREF(__pyx_kp_s_delivery_modified_r_r);
    __Pyx_GIVEREF(__pyx_kp_s_delivery_modified_r_r);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_delivery_modified_r_r);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":362
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for modified delivery.")
 */
  __pyx_v__value = messaging_delivery_modified(__pyx_v_delivery_failed, __pyx_v_undeliverable_here, ((fields)__pyx_v_message_annotations->__pyx_base._c_value));

  /* "src/message.pyx":363
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for modified delivery.")
 *         return value_factory(_value)
 */
  __pyx_t_8 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (unlikely(__pyx_t_8)) {

    /* "src/message.pyx":364
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for modified delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__149, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 364, __pyx_L1_error)

    /* "src/message.pyx":363
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to allocate memory for modified delivery.")
 *         return value_factory(_value)
 */
  }

  /* "src/message.pyx":365
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for modified delivery.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":359
 * 
 *     @staticmethod
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):             # <<<<<<<<<<<<<<
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.delivery_modified", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef bint use_setstate
 *     state = ()
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_14__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_Messaging *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_14__reduce_cython__(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *__pyx_v_self) {
  int __pyx_v_use_setstate;
  PyObject *__pyx_v_state = NULL;
  PyObject *__pyx_v__dict = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":4
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":5
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":6
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":7
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":5
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":9
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":10
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":11
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_pyx_unpickle_Messaging); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":10
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":13
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Messaging__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_pyx_unpickle_Messaging); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef bint use_setstate
 *     state = ()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":14
 *     else:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Messaging__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_9Messaging_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_9Messaging_16__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_Messaging *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_9Messaging_16__setstate_cython__(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Messaging__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 15, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp___pyx_unpickle_Messaging__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":14
 *     else:
 *         return __pyx_unpickle_Messaging, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Messaging__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.Messaging.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":368
 * 
 * 
 * cdef void destroy_amqp_objects_in_get_encoded_message_size(c_amqp_definitions.HEADER_HANDLE header,             # <<<<<<<<<<<<<<
 *     c_amqpvalue.AMQP_VALUE header_amqp_value, c_amqpvalue.AMQP_VALUE msg_annotations,
 *     c_amqp_definitions.PROPERTIES_HANDLE properties, c_amqpvalue.AMQP_VALUE properties_amqp_value,
 */

static void __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(HEADER_HANDLE __pyx_v_header, AMQP_VALUE __pyx_v_header_amqp_value, AMQP_VALUE __pyx_v_msg_annotations, PROPERTIES_HANDLE __pyx_v_properties, AMQP_VALUE __pyx_v_properties_amqp_value, AMQP_VALUE __pyx_v_application_properties, AMQP_VALUE __pyx_v_application_properties_value, AMQP_VALUE __pyx_v_body_amqp_value) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("destroy_amqp_objects_in_get_encoded_message_size", 0);

  /* "src/message.pyx":374
 *     c_amqpvalue.AMQP_VALUE body_amqp_value):
 * 
 *     if <void*>header != NULL:             # <<<<<<<<<<<<<<
 *         c_amqp_definitions.header_destroy(header)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_header) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":375
 * 
 *     if <void*>header != NULL:
 *         c_amqp_definitions.header_destroy(header)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>header_amqp_value != NULL:
 */
    header_destroy(__pyx_v_header);

    /* "src/message.pyx":374
 *     c_amqpvalue.AMQP_VALUE body_amqp_value):
 * 
 *     if <void*>header != NULL:             # <<<<<<<<<<<<<<
 *         c_amqp_definitions.header_destroy(header)
 * 
 */
  }

  /* "src/message.pyx":377
 *         c_amqp_definitions.header_destroy(header)
 * 
 *     if <void*>header_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(header_amqp_value)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_header_amqp_value) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":378
 * 
 *     if <void*>header_amqp_value != NULL:
 *         c_amqpvalue.amqpvalue_destroy(header_amqp_value)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>msg_annotations != NULL:
 */
    amqpvalue_destroy(__pyx_v_header_amqp_value);

    /* "src/message.pyx":377
 *         c_amqp_definitions.header_destroy(header)
 * 
 *     if <void*>header_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(header_amqp_value)
 * 
 */
  }

  /* "src/message.pyx":380
 *         c_amqpvalue.amqpvalue_destroy(header_amqp_value)
 * 
 *     if <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(msg_annotations)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_msg_annotations) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":381
 * 
 *     if <void*>msg_annotations != NULL:
 *         c_amqpvalue.amqpvalue_destroy(msg_annotations)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>properties != NULL:
 */
    amqpvalue_destroy(__pyx_v_msg_annotations);

    /* "src/message.pyx":380
 *         c_amqpvalue.amqpvalue_destroy(header_amqp_value)
 * 
 *     if <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(msg_annotations)
 * 
 */
  }

  /* "src/message.pyx":383
 *         c_amqpvalue.amqpvalue_destroy(msg_annotations)
 * 
 *     if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *         c_amqp_definitions.properties_destroy(properties)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_properties) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":384
 * 
 *     if <void*>properties != NULL:
 *         c_amqp_definitions.properties_destroy(properties)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>properties_amqp_value != NULL:
 */
    properties_destroy(__pyx_v_properties);

    /* "src/message.pyx":383
 *         c_amqpvalue.amqpvalue_destroy(msg_annotations)
 * 
 *     if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *         c_amqp_definitions.properties_destroy(properties)
 * 
 */
  }

  /* "src/message.pyx":386
 *         c_amqp_definitions.properties_destroy(properties)
 * 
 *     if <void*>properties_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(properties_amqp_value)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_properties_amqp_value) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":387
 * 
 *     if <void*>properties_amqp_value != NULL:
 *         c_amqpvalue.amqpvalue_destroy(properties_amqp_value)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>application_properties != NULL:
 */
    amqpvalue_destroy(__pyx_v_properties_amqp_value);

    /* "src/message.pyx":386
 *         c_amqp_definitions.properties_destroy(properties)
 * 
 *     if <void*>properties_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(properties_amqp_value)
 * 
 */
  }

  /* "src/message.pyx":389
 *         c_amqpvalue.amqpvalue_destroy(properties_amqp_value)
 * 
 *     if <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(application_properties)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_application_properties) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":390
 * 
 *     if <void*>application_properties != NULL:
 *         c_amqpvalue.amqpvalue_destroy(application_properties)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>application_properties_value != NULL:
 */
    amqpvalue_destroy(__pyx_v_application_properties);

    /* "src/message.pyx":389
 *         c_amqpvalue.amqpvalue_destroy(properties_amqp_value)
 * 
 *     if <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(application_properties)
 * 
 */
  }

  /* "src/message.pyx":392
 *         c_amqpvalue.amqpvalue_destroy(application_properties)
 * 
 *     if <void*>application_properties_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(application_properties_value)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_application_properties_value) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":393
 * 
 *     if <void*>application_properties_value != NULL:
 *         c_amqpvalue.amqpvalue_destroy(application_properties_value)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>body_amqp_value != NULL:
 */
    amqpvalue_destroy(__pyx_v_application_properties_value);

    /* "src/message.pyx":392
 *         c_amqpvalue.amqpvalue_destroy(application_properties)
 * 
 *     if <void*>application_properties_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(application_properties_value)
 * 
 */
  }

  /* "src/message.pyx":395
 *         c_amqpvalue.amqpvalue_destroy(application_properties_value)
 * 
 *     if <void*>body_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(body_amqp_value)
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_body_amqp_value) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":396
 * 
 *     if <void*>body_amqp_value != NULL:
 *         c_amqpvalue.amqpvalue_destroy(body_amqp_value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    amqpvalue_destroy(__pyx_v_body_amqp_value);

    /* "src/message.pyx":395
 *         c_amqpvalue.amqpvalue_destroy(application_properties_value)
 * 
 *     if <void*>body_amqp_value != NULL:             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(body_amqp_value)
 * 
 */
  }

  /* "src/message.pyx":368
 * 
 * 
 * cdef void destroy_amqp_objects_in_get_encoded_message_size(c_amqp_definitions.HEADER_HANDLE header,             # <<<<<<<<<<<<<<
 *     c_amqpvalue.AMQP_VALUE header_amqp_value, c_amqpvalue.AMQP_VALUE msg_annotations,
 *     c_amqp_definitions.PROPERTIES_HANDLE properties, c_amqpvalue.AMQP_VALUE properties_amqp_value,
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "src/message.pyx":399
 * 
 * 
 * cpdef size_t get_encoded_message_size(cMessage message, encoded_data):             # <<<<<<<<<<<<<<
 * 
 *         cdef c_message.MESSAGE_HANDLE c_msg
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_81get_encoded_message_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static size_t __pyx_f_5uamqp_7c_uamqp_get_encoded_message_size(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_encoded_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
  MESSAGE_HANDLE __pyx_v_c_msg;
  enum MESSAGE_BODY_TYPE_TAG __pyx_v_message_body_type;
  message_format __pyx_v_message_format;
  HEADER_HANDLE __pyx_v_header;
  AMQP_VALUE __pyx_v_header_amqp_value;
  PROPERTIES_HANDLE __pyx_v_properties;
  AMQP_VALUE __pyx_v_properties_amqp_value;
  AMQP_VALUE __pyx_v_application_properties;
  AMQP_VALUE __pyx_v_application_properties_value;
  AMQP_VALUE __pyx_v_body_amqp_value;
  AMQP_VALUE __pyx_v_msg_annotations;
  AMQP_VALUE __pyx_v_message_body_amqp_value;
  BINARY_DATA __pyx_v_binary_data;
  AMQP_VALUE __pyx_v_body_amqp_data;
  amqp_binary __pyx_v_binary_value;
  size_t __pyx_v_encoded_size;
  size_t __pyx_v_total_encoded_size;
  size_t __pyx_v_body_data_count;
  size_t __pyx_v_i;
  size_t __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  size_t __pyx_t_6;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  unsigned char const *__pyx_t_11;
  __Pyx_RefNannySetupContext("get_encoded_message_size", 0);

  /* "src/message.pyx":402
 * 
 *         cdef c_message.MESSAGE_HANDLE c_msg
 *         c_msg = <c_message.MESSAGE_HANDLE>message._c_value             # <<<<<<<<<<<<<<
 * 
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG message_body_type
 */
  __pyx_v_c_msg = __pyx_v_message->_c_value;

  /* "src/message.pyx":406
 *         cdef c_message.MESSAGE_BODY_TYPE_TAG message_body_type
 *         cdef c_amqp_definitions.message_format message_format
 *         cdef c_amqp_definitions.HEADER_HANDLE header = <c_amqp_definitions.HEADER_HANDLE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE header_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE properties = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 */
  __pyx_v_header = NULL;

  /* "src/message.pyx":407
 *         cdef c_amqp_definitions.message_format message_format
 *         cdef c_amqp_definitions.HEADER_HANDLE header = <c_amqp_definitions.HEADER_HANDLE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE header_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE properties = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE properties_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 */
  __pyx_v_header_amqp_value = NULL;

  /* "src/message.pyx":408
 *         cdef c_amqp_definitions.HEADER_HANDLE header = <c_amqp_definitions.HEADER_HANDLE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE header_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE properties = <c_amqp_definitions.PROPERTIES_HANDLE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE properties_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties = <c_amqpvalue.AMQP_VALUE>NULL
 */
  __pyx_v_properties = NULL;

  /* "src/message.pyx":409
 *         cdef c_amqpvalue.AMQP_VALUE header_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE properties = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE properties_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE application_properties = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties_value = <c_amqpvalue.AMQP_VALUE>NULL
 */
  __pyx_v_properties_amqp_value = NULL;

  /* "src/message.pyx":410
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE properties = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE properties_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE application_properties_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE body_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 */
  __pyx_v_application_properties = NULL;

  /* "src/message.pyx":411
 *         cdef c_amqpvalue.AMQP_VALUE properties_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE body_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE msg_annotations = <c_amqpvalue.AMQP_VALUE>NULL
 */
  __pyx_v_application_properties_value = NULL;

  /* "src/message.pyx":412
 *         cdef c_amqpvalue.AMQP_VALUE application_properties = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE application_properties_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE body_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE msg_annotations = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE message_body_amqp_value
 */
  __pyx_v_body_amqp_value = NULL;

  /* "src/message.pyx":413
 *         cdef c_amqpvalue.AMQP_VALUE application_properties_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE body_amqp_value = <c_amqpvalue.AMQP_VALUE>NULL
 *         cdef c_amqpvalue.AMQP_VALUE msg_annotations = <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE message_body_amqp_value
 *         cdef c_message.BINARY_DATA binary_data
 */
  __pyx_v_msg_annotations = NULL;

  /* "src/message.pyx":419
 *         cdef c_amqpvalue.amqp_binary binary_value
 *         cdef size_t encoded_size
 *         cdef size_t total_encoded_size = 0             # <<<<<<<<<<<<<<
 *         cdef size_t body_data_count = 0
 * 
 */
  __pyx_v_total_encoded_size = 0;

  /* "src/message.pyx":420
 *         cdef size_t encoded_size
 *         cdef size_t total_encoded_size = 0
 *         cdef size_t body_data_count = 0             # <<<<<<<<<<<<<<
 * 
 *         # message format
 */
  __pyx_v_body_data_count = 0;

  /* "src/message.pyx":423
 * 
 *         # message format
 *         if (c_message.message_get_body_type(c_msg, &message_body_type) != 0) or (c_message.message_get_message_format(c_msg, &message_format) != 0):             # <<<<<<<<<<<<<<
 *             raise ValueError("Failure getting message body type and/or message format")
 * 
 */
  __pyx_t_2 = ((message_get_body_type(__pyx_v_c_msg, (&__pyx_v_message_body_type)) != 0) != 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((message_get_message_format(__pyx_v_c_msg, (&__pyx_v_message_format)) != 0) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":424
 *         # message format
 *         if (c_message.message_get_body_type(c_msg, &message_body_type) != 0) or (c_message.message_get_message_format(c_msg, &message_format) != 0):
 *             raise ValueError("Failure getting message body type and/or message format")             # <<<<<<<<<<<<<<
 * 
 *         # message header
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__150, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 424, __pyx_L1_error)

    /* "src/message.pyx":423
 * 
 *         # message format
 *         if (c_message.message_get_body_type(c_msg, &message_body_type) != 0) or (c_message.message_get_message_format(c_msg, &message_format) != 0):             # <<<<<<<<<<<<<<
 *             raise ValueError("Failure getting message body type and/or message format")
 * 
 */
  }

  /* "src/message.pyx":427
 * 
 *         # message header
 *         if c_message.message_get_header(c_msg, &header) == 0 and <void*>header != NULL:             # <<<<<<<<<<<<<<
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:
 */
  __pyx_t_2 = ((message_get_header(__pyx_v_c_msg, (&__pyx_v_header)) == 0) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = ((((void *)__pyx_v_header) != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/message.pyx":428
 *         # message header
 *         if c_message.message_get_header(c_msg, &header) == 0 and <void*>header != NULL:
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)             # <<<<<<<<<<<<<<
 *             if <void*>header_amqp_value == NULL:
 *                 _logger.debug("Cannot create header AMQP value")
 */
    __pyx_v_header_amqp_value = amqpvalue_create_header(__pyx_v_header);

    /* "src/message.pyx":429
 *         if c_message.message_get_header(c_msg, &header) == 0 and <void*>header != NULL:
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create header AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_1 = ((((void *)__pyx_v_header_amqp_value) == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":430
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:
 *                 _logger.debug("Cannot create header AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__151, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":431
 *             if <void*>header_amqp_value == NULL:
 *                 _logger.debug("Cannot create header AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":434
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage header.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__152, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 434, __pyx_L1_error)

      /* "src/message.pyx":429
 *         if c_message.message_get_header(c_msg, &header) == 0 and <void*>header != NULL:
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create header AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    }

    /* "src/message.pyx":436
 *                 raise MemoryError("Cannot get cMessage header.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain header encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    /*else*/ {
      __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_header_amqp_value, (&__pyx_v_encoded_size)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":437
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain header encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__153, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/message.pyx":438
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain header encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":441
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain header encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__154, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 441, __pyx_L1_error)

        /* "src/message.pyx":436
 *                 raise MemoryError("Cannot get cMessage header.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain header encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      }

      /* "src/message.pyx":443
 *                     raise ValueError("Cannot obtain header encoded size")
 *                 else:
 *                     total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 * 
 *         # message annotations
 */
      /*else*/ {
        __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
      }
    }

    /* "src/message.pyx":427
 * 
 *         # message header
 *         if c_message.message_get_header(c_msg, &header) == 0 and <void*>header != NULL:             # <<<<<<<<<<<<<<
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:
 */
  }

  /* "src/message.pyx":446
 * 
 *         # message annotations
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:
 *                 _logger.debug("Cannot obtain message annotations encoded size")
 */
  __pyx_t_2 = ((message_get_message_annotations(__pyx_v_c_msg, (&__pyx_v_msg_annotations)) == 0) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L12_bool_binop_done;
  }
  __pyx_t_2 = ((((void *)__pyx_v_msg_annotations) != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L12_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/message.pyx":447
 *         # message annotations
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot obtain message annotations encoded size")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_msg_annotations, (&__pyx_v_encoded_size)) != 0) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":448
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:
 *                 _logger.debug("Cannot obtain message annotations encoded size")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 448, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 448, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__155, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 448, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":449
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:
 *                 _logger.debug("Cannot obtain message annotations encoded size")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":452
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot obtain message annotations encoded size")             # <<<<<<<<<<<<<<
 *             else:
 *                 total_encoded_size += encoded_size
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__156, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 452, __pyx_L1_error)

      /* "src/message.pyx":447
 *         # message annotations
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot obtain message annotations encoded size")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    }

    /* "src/message.pyx":454
 *                 raise ValueError("Cannot obtain message annotations encoded size")
 *             else:
 *                 total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 * 
 *         # properties
 */
    /*else*/ {
      __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
    }

    /* "src/message.pyx":446
 * 
 *         # message annotations
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:
 *                 _logger.debug("Cannot obtain message annotations encoded size")
 */
  }

  /* "src/message.pyx":457
 * 
 *         # properties
 *         if c_message.message_get_properties(c_msg, &properties) == 0 and <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:
 */
  __pyx_t_2 = ((message_get_properties(__pyx_v_c_msg, (&__pyx_v_properties)) == 0) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L16_bool_binop_done;
  }
  __pyx_t_2 = ((((void *)__pyx_v_properties) != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L16_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/message.pyx":458
 *         # properties
 *         if c_message.message_get_properties(c_msg, &properties) == 0 and <void*>properties != NULL:
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)             # <<<<<<<<<<<<<<
 *             if <void*>properties_amqp_value == NULL:
 *                 _logger.debug("Cannot create properties AMQP value")
 */
    __pyx_v_properties_amqp_value = amqpvalue_create_properties(__pyx_v_properties);

    /* "src/message.pyx":459
 *         if c_message.message_get_properties(c_msg, &properties) == 0 and <void*>properties != NULL:
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_1 = ((((void *)__pyx_v_properties_amqp_value) == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":460
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:
 *                 _logger.debug("Cannot create properties AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__157, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":461
 *             if <void*>properties_amqp_value == NULL:
 *                 _logger.debug("Cannot create properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":464
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage properties.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__158, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 464, __pyx_L1_error)

      /* "src/message.pyx":459
 *         if c_message.message_get_properties(c_msg, &properties) == 0 and <void*>properties != NULL:
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    }

    /* "src/message.pyx":466
 *                 raise MemoryError("Cannot get cMessage properties.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain message properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    /*else*/ {
      __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_properties_amqp_value, (&__pyx_v_encoded_size)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":467
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain message properties encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__159, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/message.pyx":468
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain message properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":471
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain message properties encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__160, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 471, __pyx_L1_error)

        /* "src/message.pyx":466
 *                 raise MemoryError("Cannot get cMessage properties.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain message properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      }

      /* "src/message.pyx":473
 *                     raise ValueError("Cannot obtain message properties encoded size")
 *                 else:
 *                     total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 * 
 *         # application properties
 */
      /*else*/ {
        __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
      }
    }

    /* "src/message.pyx":457
 * 
 *         # properties
 *         if c_message.message_get_properties(c_msg, &properties) == 0 and <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:
 */
  }

  /* "src/message.pyx":476
 * 
 *         # application properties
 *         if c_message.message_get_application_properties(c_msg, &application_properties) == 0 and <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:
 */
  __pyx_t_2 = ((message_get_application_properties(__pyx_v_c_msg, (&__pyx_v_application_properties)) == 0) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_2 = ((((void *)__pyx_v_application_properties) != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/message.pyx":477
 *         # application properties
 *         if c_message.message_get_application_properties(c_msg, &application_properties) == 0 and <void*>application_properties != NULL:
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)             # <<<<<<<<<<<<<<
 *             if <void*>application_properties_value == NULL:
 *                 _logger.debug("Cannot create application properties AMQP value")
 */
    __pyx_v_application_properties_value = amqpvalue_create_application_properties(__pyx_v_application_properties);

    /* "src/message.pyx":478
 *         if c_message.message_get_application_properties(c_msg, &application_properties) == 0 and <void*>application_properties != NULL:
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create application properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_1 = ((((void *)__pyx_v_application_properties_value) == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":479
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:
 *                 _logger.debug("Cannot create application properties AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__161, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/message.pyx":480
 *             if <void*>application_properties_value == NULL:
 *                 _logger.debug("Cannot create application properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":483
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage application properties.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__162, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 483, __pyx_L1_error)

      /* "src/message.pyx":478
 *         if c_message.message_get_application_properties(c_msg, &application_properties) == 0 and <void*>application_properties != NULL:
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Cannot create application properties AMQP value")
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    }

    /* "src/message.pyx":485
 *                 raise MemoryError("Cannot get cMessage application properties.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain application properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    /*else*/ {
      __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_application_properties_value, (&__pyx_v_encoded_size)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":486
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain application properties encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__163, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/message.pyx":487
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain application properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":490
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain application properties encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__164, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 490, __pyx_L1_error)

        /* "src/message.pyx":485
 *                 raise MemoryError("Cannot get cMessage application properties.")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot obtain application properties encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      }

      /* "src/message.pyx":492
 *                     raise ValueError("Cannot obtain application properties encoded size")
 *                 else:
 *                     total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 * 
 *         # value body
 */
      /*else*/ {
        __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
      }
    }

    /* "src/message.pyx":476
 * 
 *         # application properties
 *         if c_message.message_get_application_properties(c_msg, &application_properties) == 0 and <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:
 */
  }

  /* "src/message.pyx":495
 * 
 *         # value body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:             # <<<<<<<<<<<<<<
 *             if c_message.message_get_body_amqp_value_in_place(c_msg, &message_body_amqp_value) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
  __pyx_t_1 = ((__pyx_v_message_body_type == MESSAGE_BODY_TYPE_VALUE) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":496
 *         # value body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_message.message_get_body_amqp_value_in_place(c_msg, &message_body_amqp_value) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((message_get_body_amqp_value_in_place(__pyx_v_c_msg, (&__pyx_v_message_body_amqp_value)) != 0) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":497
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_message.message_get_body_amqp_value_in_place(c_msg, &message_body_amqp_value) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":500
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot obtain AMQP value from body")             # <<<<<<<<<<<<<<
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)
 *             if <void*>body_amqp_value == NULL:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__165, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 500, __pyx_L1_error)

      /* "src/message.pyx":496
 *         # value body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_message.message_get_body_amqp_value_in_place(c_msg, &message_body_amqp_value) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    }

    /* "src/message.pyx":501
 *                     body_amqp_value)
 *                 raise ValueError("Cannot obtain AMQP value from body")
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)             # <<<<<<<<<<<<<<
 *             if <void*>body_amqp_value == NULL:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_v_body_amqp_value = amqpvalue_create_amqp_value(__pyx_v_message_body_amqp_value);

    /* "src/message.pyx":502
 *                 raise ValueError("Cannot obtain AMQP value from body")
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)
 *             if <void*>body_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((((void *)__pyx_v_body_amqp_value) == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":503
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)
 *             if <void*>body_amqp_value == NULL:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":506
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot create body AMQP value")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__166, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 506, __pyx_L1_error)

      /* "src/message.pyx":502
 *                 raise ValueError("Cannot obtain AMQP value from body")
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)
 *             if <void*>body_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    }

    /* "src/message.pyx":508
 *                 raise MemoryError("Cannot create body AMQP value")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot get body AMQP value encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    /*else*/ {
      __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_body_amqp_value, (&__pyx_v_encoded_size)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":509
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot get body AMQP value encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
        __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__167, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 509, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/message.pyx":510
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot get body AMQP value encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":513
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot get body AMQP value encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__168, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 513, __pyx_L1_error)

        /* "src/message.pyx":508
 *                 raise MemoryError("Cannot create body AMQP value")
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                     _logger.debug("Cannot get body AMQP value encoded size")
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      }

      /* "src/message.pyx":515
 *                     raise ValueError("Cannot get body AMQP value encoded size")
 *                 else:
 *                     total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 * 
 *         # data body
 */
      /*else*/ {
        __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
      }
    }

    /* "src/message.pyx":495
 * 
 *         # value body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:             # <<<<<<<<<<<<<<
 *             if c_message.message_get_body_amqp_value_in_place(c_msg, &message_body_amqp_value) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
  }

  /* "src/message.pyx":518
 * 
 *         # data body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:             # <<<<<<<<<<<<<<
 *             if c_message.message_get_body_amqp_data_count(c_msg, &body_data_count) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
  __pyx_t_1 = ((__pyx_v_message_body_type == MESSAGE_BODY_TYPE_DATA) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":519
 *         # data body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             if c_message.message_get_body_amqp_data_count(c_msg, &body_data_count) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((message_get_body_amqp_data_count(__pyx_v_c_msg, (&__pyx_v_body_data_count)) != 0) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":520
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             if c_message.message_get_body_amqp_data_count(c_msg, &body_data_count) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":523
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot get body AMQP data count")             # <<<<<<<<<<<<<<
 *             if body_data_count == 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__169, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 523, __pyx_L1_error)

      /* "src/message.pyx":519
 *         # data body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             if c_message.message_get_body_amqp_data_count(c_msg, &body_data_count) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    }

    /* "src/message.pyx":524
 *                     body_amqp_value)
 *                 raise ValueError("Cannot get body AMQP data count")
 *             if body_data_count == 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((__pyx_v_body_data_count == 0) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":525
 *                 raise ValueError("Cannot get body AMQP data count")
 *             if body_data_count == 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":528
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Body data count is zero")             # <<<<<<<<<<<<<<
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 */
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__170, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 528, __pyx_L1_error)

      /* "src/message.pyx":524
 *                     body_amqp_value)
 *                 raise ValueError("Cannot get body AMQP data count")
 *             if body_data_count == 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    }

    /* "src/message.pyx":529
 *                     body_amqp_value)
 *                 raise ValueError("Body data count is zero")
 *             for i in range(body_data_count):             # <<<<<<<<<<<<<<
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_5 = __pyx_v_body_data_count;
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_v_i = __pyx_t_7;

      /* "src/message.pyx":530
 *                 raise ValueError("Body data count is zero")
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_1 = ((message_get_body_amqp_data_in_place(__pyx_v_c_msg, __pyx_v_i, (&__pyx_v_binary_data)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":531
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":534
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot get body AMQP data {}".format(i))             # <<<<<<<<<<<<<<
 * 
 *                 binary_value.bytes = binary_data.bytes
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Cannot_get_body_AMQP_data, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_i); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 534, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        if (!__pyx_t_9) {
          __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_GOTREF(__pyx_t_3);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          } else
          #endif
          {
            __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 534, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_10);
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
            __Pyx_GIVEREF(__pyx_t_8);
            PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __PYX_ERR(0, 534, __pyx_L1_error)

        /* "src/message.pyx":530
 *                 raise ValueError("Body data count is zero")
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      }

      /* "src/message.pyx":536
 *                     raise ValueError("Cannot get body AMQP data {}".format(i))
 * 
 *                 binary_value.bytes = binary_data.bytes             # <<<<<<<<<<<<<<
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 */
      __pyx_t_11 = __pyx_v_binary_data.bytes;
      __pyx_v_binary_value.bytes = __pyx_t_11;

      /* "src/message.pyx":537
 * 
 *                 binary_value.bytes = binary_data.bytes
 *                 binary_value.length = <stdint.uint32_t>binary_data.length             # <<<<<<<<<<<<<<
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:
 */
      __pyx_v_binary_value.length = ((uint32_t)__pyx_v_binary_data.length);

      /* "src/message.pyx":538
 *                 binary_value.bytes = binary_data.bytes
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)             # <<<<<<<<<<<<<<
 *                 if <void*>body_amqp_data == NULL:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      __pyx_v_body_amqp_data = amqpvalue_create_data(__pyx_v_binary_value);

      /* "src/message.pyx":539
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_1 = ((((void *)__pyx_v_body_amqp_data) == NULL) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":540
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":543
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise MemoryError("Cannot create body AMQP data")             # <<<<<<<<<<<<<<
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:
 */
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__171, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __PYX_ERR(0, 543, __pyx_L1_error)

        /* "src/message.pyx":539
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      }

      /* "src/message.pyx":545
 *                     raise MemoryError("Cannot create body AMQP data")
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                         _logger.debug("Cannot get body AMQP data encoded size")
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      /*else*/ {
        __pyx_t_1 = ((amqpvalue_get_encoded_size(__pyx_v_body_amqp_data, (&__pyx_v_encoded_size)) != 0) != 0);
        if (unlikely(__pyx_t_1)) {

          /* "src/message.pyx":546
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:
 *                         _logger.debug("Cannot get body AMQP data encoded size")             # <<<<<<<<<<<<<<
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 */
          __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__172, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/message.pyx":547
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:
 *                         _logger.debug("Cannot get body AMQP data encoded size")
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 *                             body_amqp_value)
 */
          __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

          /* "src/message.pyx":550
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)             # <<<<<<<<<<<<<<
 *                         raise ValueError("Cannot get body AMQP data encoded size")
 *                     else:
 */
          amqpvalue_destroy(__pyx_v_body_amqp_data);

          /* "src/message.pyx":551
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 *                         raise ValueError("Cannot get body AMQP data encoded size")             # <<<<<<<<<<<<<<
 *                     else:
 *                         total_encoded_size += encoded_size
 */
          __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__173, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_Raise(__pyx_t_4, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __PYX_ERR(0, 551, __pyx_L1_error)

          /* "src/message.pyx":545
 *                     raise MemoryError("Cannot create body AMQP data")
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:             # <<<<<<<<<<<<<<
 *                         _logger.debug("Cannot get body AMQP data encoded size")
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
        }

        /* "src/message.pyx":553
 *                         raise ValueError("Cannot get body AMQP data encoded size")
 *                     else:
 *                         total_encoded_size += encoded_size             # <<<<<<<<<<<<<<
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 * 
 */
        /*else*/ {
          __pyx_v_total_encoded_size = (__pyx_v_total_encoded_size + __pyx_v_encoded_size);
        }

        /* "src/message.pyx":554
 *                     else:
 *                         total_encoded_size += encoded_size
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)             # <<<<<<<<<<<<<<
 * 
 *         # encode
 */
        amqpvalue_destroy(__pyx_v_body_amqp_data);
      }
    }

    /* "src/message.pyx":518
 * 
 *         # data body
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:             # <<<<<<<<<<<<<<
 *             if c_message.message_get_body_amqp_data_count(c_msg, &body_data_count) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
  }

  /* "src/message.pyx":557
 * 
 *         # encode
 *         if <void*>header != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     header_amqp_value,
 */
  __pyx_t_1 = ((((void *)__pyx_v_header) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":561
 *                     header_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((amqpvalue_encode(__pyx_v_header_amqp_value, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

    /* "src/message.pyx":558
 *         # encode
 *         if <void*>header != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     header_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":562
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":565
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode header value")             # <<<<<<<<<<<<<<
 *         if <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__174, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 565, __pyx_L1_error)

      /* "src/message.pyx":558
 *         # encode
 *         if <void*>header != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     header_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    }

    /* "src/message.pyx":557
 * 
 *         # encode
 *         if <void*>header != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     header_amqp_value,
 */
  }

  /* "src/message.pyx":566
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode header value")
 *         if <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     msg_annotations,
 */
  __pyx_t_1 = ((((void *)__pyx_v_msg_annotations) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":570
 *                     msg_annotations,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((amqpvalue_encode(__pyx_v_msg_annotations, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

    /* "src/message.pyx":567
 *                 raise ValueError("Cannot encode header value")
 *         if <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     msg_annotations,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":571
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":574
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message annotations value")             # <<<<<<<<<<<<<<
 *         if <void*>properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__175, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 574, __pyx_L1_error)

      /* "src/message.pyx":567
 *                 raise ValueError("Cannot encode header value")
 *         if <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     msg_annotations,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    }

    /* "src/message.pyx":566
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode header value")
 *         if <void*>msg_annotations != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     msg_annotations,
 */
  }

  /* "src/message.pyx":575
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message annotations value")
 *         if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     properties_amqp_value,
 */
  __pyx_t_1 = ((((void *)__pyx_v_properties) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":579
 *                     properties_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((amqpvalue_encode(__pyx_v_properties_amqp_value, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

    /* "src/message.pyx":576
 *                 raise ValueError("Cannot encode message annotations value")
 *         if <void*>properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     properties_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":580
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":583
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message properties value")             # <<<<<<<<<<<<<<
 *         if <void*>application_properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__176, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 583, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 583, __pyx_L1_error)

      /* "src/message.pyx":576
 *                 raise ValueError("Cannot encode message annotations value")
 *         if <void*>properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     properties_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    }

    /* "src/message.pyx":575
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message annotations value")
 *         if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     properties_amqp_value,
 */
  }

  /* "src/message.pyx":584
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message properties value")
 *         if <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     application_properties_value,
 */
  __pyx_t_1 = ((((void *)__pyx_v_application_properties) != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":588
 *                     application_properties_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((amqpvalue_encode(__pyx_v_application_properties_value, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

    /* "src/message.pyx":585
 *                 raise ValueError("Cannot encode message properties value")
 *         if <void*>application_properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     application_properties_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":589
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":592
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode application properties value")             # <<<<<<<<<<<<<<
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_amqpvalue.amqpvalue_encode(
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__177, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 592, __pyx_L1_error)

      /* "src/message.pyx":585
 *                 raise ValueError("Cannot encode message properties value")
 *         if <void*>application_properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     application_properties_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    }

    /* "src/message.pyx":584
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message properties value")
 *         if <void*>application_properties != NULL:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     application_properties_value,
 */
  }

  /* "src/message.pyx":593
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode application properties value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     body_amqp_value,
 */
  __pyx_t_1 = ((__pyx_v_message_body_type == MESSAGE_BODY_TYPE_VALUE) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":597
 *                     body_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
    __pyx_t_1 = ((amqpvalue_encode(__pyx_v_body_amqp_value, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

    /* "src/message.pyx":594
 *                 raise ValueError("Cannot encode application properties value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     body_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    if (unlikely(__pyx_t_1)) {

      /* "src/message.pyx":598
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                     <void*>encoded_data) != 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 */
      __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

      /* "src/message.pyx":601
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode body AMQP value")             # <<<<<<<<<<<<<<
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             for i in range(body_data_count):
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__178, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 601, __pyx_L1_error)

      /* "src/message.pyx":594
 *                 raise ValueError("Cannot encode application properties value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                     body_amqp_value,
 *                     <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
    }

    /* "src/message.pyx":593
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode application properties value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:             # <<<<<<<<<<<<<<
 *             if c_amqpvalue.amqpvalue_encode(
 *                     body_amqp_value,
 */
  }

  /* "src/message.pyx":602
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode body AMQP value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:             # <<<<<<<<<<<<<<
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 */
  __pyx_t_1 = ((__pyx_v_message_body_type == MESSAGE_BODY_TYPE_DATA) != 0);
  if (__pyx_t_1) {

    /* "src/message.pyx":603
 *                 raise ValueError("Cannot encode body AMQP value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             for i in range(body_data_count):             # <<<<<<<<<<<<<<
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
    __pyx_t_5 = __pyx_v_body_data_count;
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_v_i = __pyx_t_7;

      /* "src/message.pyx":604
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_1 = ((message_get_body_amqp_data_in_place(__pyx_v_c_msg, __pyx_v_i, (&__pyx_v_binary_data)) != 0) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":605
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":608
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot get body AMQP data {}".format(i))             # <<<<<<<<<<<<<<
 * 
 *                 binary_value.bytes = binary_data.bytes
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Cannot_get_body_AMQP_data, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 608, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = __Pyx_PyInt_FromSize_t(__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 608, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_8 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_8)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_8);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
          }
        }
        if (!__pyx_t_8) {
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_4);
        } else {
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          } else
          #endif
          {
            __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 608, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_9);
            __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
            __Pyx_GIVEREF(__pyx_t_10);
            PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_10);
            __pyx_t_10 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          }
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 608, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 608, __pyx_L1_error)

        /* "src/message.pyx":604
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      }

      /* "src/message.pyx":610
 *                     raise ValueError("Cannot get body AMQP data {}".format(i))
 * 
 *                 binary_value.bytes = binary_data.bytes             # <<<<<<<<<<<<<<
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 */
      __pyx_t_11 = __pyx_v_binary_data.bytes;
      __pyx_v_binary_value.bytes = __pyx_t_11;

      /* "src/message.pyx":611
 * 
 *                 binary_value.bytes = binary_data.bytes
 *                 binary_value.length = <stdint.uint32_t>binary_data.length             # <<<<<<<<<<<<<<
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:
 */
      __pyx_v_binary_value.length = ((uint32_t)__pyx_v_binary_data.length);

      /* "src/message.pyx":612
 *                 binary_value.bytes = binary_data.bytes
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)             # <<<<<<<<<<<<<<
 *                 if <void*>body_amqp_data == NULL:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
      __pyx_v_body_amqp_data = amqpvalue_create_data(__pyx_v_binary_value);

      /* "src/message.pyx":613
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      __pyx_t_1 = ((((void *)__pyx_v_body_amqp_data) == NULL) != 0);
      if (unlikely(__pyx_t_1)) {

        /* "src/message.pyx":614
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 */
        __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

        /* "src/message.pyx":617
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise MemoryError("Cannot create body AMQP data")             # <<<<<<<<<<<<<<
 *                 else:
 *                     if c_amqpvalue.amqpvalue_encode(
 */
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__179, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 617, __pyx_L1_error)

        /* "src/message.pyx":613
 *                 binary_value.length = <stdint.uint32_t>binary_data.length
 *                 body_amqp_data = c_amqp_definitions.amqpvalue_create_data(binary_value)
 *                 if <void*>body_amqp_data == NULL:             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
      }

      /* "src/message.pyx":619
 *                     raise MemoryError("Cannot create body AMQP data")
 *                 else:
 *                     if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                             body_amqp_data,
 *                             <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
      /*else*/ {

        /* "src/message.pyx":622
 *                             body_amqp_data,
 *                             <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                             <void*>encoded_data) != 0:             # <<<<<<<<<<<<<<
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 */
        __pyx_t_1 = ((amqpvalue_encode(__pyx_v_body_amqp_data, ((AMQPVALUE_ENCODER_OUTPUT)__pyx_f_5uamqp_7c_uamqp_encode_bytes_callback), ((void *)__pyx_v_encoded_data)) != 0) != 0);

        /* "src/message.pyx":619
 *                     raise MemoryError("Cannot create body AMQP data")
 *                 else:
 *                     if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                             body_amqp_data,
 *                             <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
        if (unlikely(__pyx_t_1)) {

          /* "src/message.pyx":623
 *                             <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                             <void*>encoded_data) != 0:
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 *                             body_amqp_value)
 */
          __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

          /* "src/message.pyx":626
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)             # <<<<<<<<<<<<<<
 *                         raise ValueError("Cannot encode body AMQP value")
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 */
          amqpvalue_destroy(__pyx_v_body_amqp_data);

          /* "src/message.pyx":627
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 *                         raise ValueError("Cannot encode body AMQP value")             # <<<<<<<<<<<<<<
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 * 
 */
          __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__180, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_Raise(__pyx_t_3, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __PYX_ERR(0, 627, __pyx_L1_error)

          /* "src/message.pyx":619
 *                     raise MemoryError("Cannot create body AMQP data")
 *                 else:
 *                     if c_amqpvalue.amqpvalue_encode(             # <<<<<<<<<<<<<<
 *                             body_amqp_data,
 *                             <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 */
        }

        /* "src/message.pyx":628
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 *                         raise ValueError("Cannot encode body AMQP value")
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)             # <<<<<<<<<<<<<<
 * 
 *         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
        amqpvalue_destroy(__pyx_v_body_amqp_data);
      }
    }

    /* "src/message.pyx":602
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode body AMQP value")
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:             # <<<<<<<<<<<<<<
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 */
  }

  /* "src/message.pyx":630
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 * 
 *         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,             # <<<<<<<<<<<<<<
 *             properties, properties_amqp_value, application_properties, application_properties_value,
 *             body_amqp_value)
 */
  __pyx_f_5uamqp_7c_uamqp_destroy_amqp_objects_in_get_encoded_message_size(__pyx_v_header, __pyx_v_header_amqp_value, __pyx_v_msg_annotations, __pyx_v_properties, __pyx_v_properties_amqp_value, __pyx_v_application_properties, __pyx_v_application_properties_value, __pyx_v_body_amqp_value);

  /* "src/message.pyx":634
 *             body_amqp_value)
 * 
 *         return total_encoded_size             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_total_encoded_size;
  goto __pyx_L0;

  /* "src/message.pyx":399
 * 
 * 
 * cpdef size_t get_encoded_message_size(cMessage message, encoded_data):             # <<<<<<<<<<<<<<
 * 
 *         cdef c_message.MESSAGE_HANDLE c_msg
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.get_encoded_message_size", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_81get_encoded_message_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_81get_encoded_message_size(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message = 0;
  PyObject *__pyx_v_encoded_data = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_encoded_message_size (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_encoded_data,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_encoded_data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_encoded_message_size", 1, 2, 2, 1); __PYX_ERR(0, 399, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_encoded_message_size") < 0)) __PYX_ERR(0, 399, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_message = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)values[0]);
    __pyx_v_encoded_data = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_encoded_message_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 399, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.get_encoded_message_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_message), __pyx_ptype_5uamqp_7c_uamqp_cMessage, 1, "message", 0))) __PYX_ERR(0, 399, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_80get_encoded_message_size(__pyx_self, __pyx_v_message, __pyx_v_encoded_data);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_80get_encoded_message_size(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, PyObject *__pyx_v_encoded_data) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_encoded_message_size", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_f_5uamqp_7c_uamqp_get_encoded_message_size(__pyx_v_message, __pyx_v_encoded_data, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_encoded_message_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":642
 *     cdef const char* decode_error
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/message.pyx":643
 * 
 *     def __cinit__(self):
 *         self.decoded_message = c_message.message_create()             # <<<<<<<<<<<<<<
 *         if <void*>self.decoded_message == NULL:
 *             raise MemoryError("Failed to create message decoder.")
 */
  __pyx_v_self->decoded_message = message_create();

  /* "src/message.pyx":644
 *     def __cinit__(self):
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to create message decoder.")
 *         self.decode_error = <const char*>NULL
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->decoded_message) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/message.pyx":645
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:
 *             raise MemoryError("Failed to create message decoder.")             # <<<<<<<<<<<<<<
 *         self.decode_error = <const char*>NULL
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__181, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 645, __pyx_L1_error)

    /* "src/message.pyx":644
 *     def __cinit__(self):
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError("Failed to create message decoder.")
 *         self.decode_error = <const char*>NULL
 */
  }

  /* "src/message.pyx":646
 *         if <void*>self.decoded_message == NULL:
 *             raise MemoryError("Failed to create message decoder.")
 *         self.decode_error = <const char*>NULL             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_v_self->decode_error = ((char const *)NULL);

  /* "src/message.pyx":642
 *     cdef const char* decode_error
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageDecoder.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":648
 *         self.decode_error = <const char*>NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageDecoder")
 * 
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/message.pyx":649
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageDecoder")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__182, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":648
 *         self.decode_error = <const char*>NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageDecoder")
 * 
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cMessageDecoder.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_4__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__183, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageDecoder.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_6__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15cMessageDecoder_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__184, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageDecoder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":652
 * 
 * 
 * cpdef cMessage decode_message(stdint.uint32_t payload_size, const unsigned char* payload_bytes):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQPVALUE_DECODER_HANDLE amqpvalue_decoder
 *     cdef c_message.MESSAGE_HANDLE result
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_83decode_message(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_f_5uamqp_7c_uamqp_decode_message(uint32_t __pyx_v_payload_size, unsigned char const *__pyx_v_payload_bytes, CYTHON_UNUSED int __pyx_skip_dispatch) {
  AMQPVALUE_DECODER_HANDLE __pyx_v_amqpvalue_decoder;
  MESSAGE_HANDLE __pyx_v_result;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_message_decoder = NULL;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  char const *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  MESSAGE_HANDLE __pyx_t_5;
  __Pyx_RefNannySetupContext("decode_message", 0);

  /* "src/message.pyx":655
 *     cdef c_amqpvalue.AMQPVALUE_DECODER_HANDLE amqpvalue_decoder
 *     cdef c_message.MESSAGE_HANDLE result
 *     message_decoder = cMessageDecoder()             # <<<<<<<<<<<<<<
 * 
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageDecoder)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_message_decoder = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message.pyx":657
 *     message_decoder = cMessageDecoder()
 * 
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);             # <<<<<<<<<<<<<<
 *     if <void*>amqpvalue_decoder == NULL:
 *         raise MemoryError("Cannot create AMQP value decoder")
 */
  __pyx_v_amqpvalue_decoder = amqpvalue_decoder_create(((ON_VALUE_DECODED)__pyx_f_5uamqp_7c_uamqp_decode_message_data), ((void *)__pyx_v_message_decoder));

  /* "src/message.pyx":658
 * 
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);
 *     if <void*>amqpvalue_decoder == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError("Cannot create AMQP value decoder")
 *     else:
 */
  __pyx_t_2 = ((((void *)__pyx_v_amqpvalue_decoder) == NULL) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "src/message.pyx":659
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);
 *     if <void*>amqpvalue_decoder == NULL:
 *         raise MemoryError("Cannot create AMQP value decoder")             # <<<<<<<<<<<<<<
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__185, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 659, __pyx_L1_error)

    /* "src/message.pyx":658
 * 
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);
 *     if <void*>amqpvalue_decoder == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError("Cannot create AMQP value decoder")
 *     else:
 */
  }

  /* "src/message.pyx":661
 *         raise MemoryError("Cannot create AMQP value decoder")
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot decode bytes")
 *         else:
 */
  /*else*/ {
    __pyx_t_2 = ((amqpvalue_decode_bytes(__pyx_v_amqpvalue_decoder, __pyx_v_payload_bytes, __pyx_v_payload_size) != 0) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "src/message.pyx":662
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:
 *             raise ValueError("Cannot decode bytes")             # <<<<<<<<<<<<<<
 *         else:
 *             if <void*>message_decoder.decode_error != NULL:
 */
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__186, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(0, 662, __pyx_L1_error)

      /* "src/message.pyx":661
 *         raise MemoryError("Cannot create AMQP value decoder")
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot decode bytes")
 *         else:
 */
    }

    /* "src/message.pyx":664
 *             raise ValueError("Cannot decode bytes")
 *         else:
 *             if <void*>message_decoder.decode_error != NULL:             # <<<<<<<<<<<<<<
 *                 raise ValueError(message_decoder.decode_error.decode('UTF-8'))
 *             else:
 */
    /*else*/ {
      __pyx_t_2 = ((((void *)__pyx_v_message_decoder->decode_error) != NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "src/message.pyx":665
 *         else:
 *             if <void*>message_decoder.decode_error != NULL:
 *                 raise ValueError(message_decoder.decode_error.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *             else:
 *                 result = message_decoder.decoded_message
 */
        __pyx_t_3 = __pyx_v_message_decoder->decode_error;
        __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_3, 0, strlen(__pyx_t_3), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 665, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 665, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __PYX_ERR(0, 665, __pyx_L1_error)

        /* "src/message.pyx":664
 *             raise ValueError("Cannot decode bytes")
 *         else:
 *             if <void*>message_decoder.decode_error != NULL:             # <<<<<<<<<<<<<<
 *                 raise ValueError(message_decoder.decode_error.decode('UTF-8'))
 *             else:
 */
      }

      /* "src/message.pyx":667
 *                 raise ValueError(message_decoder.decode_error.decode('UTF-8'))
 *             else:
 *                 result = message_decoder.decoded_message             # <<<<<<<<<<<<<<
 * 
 *         c_amqpvalue.amqpvalue_decoder_destroy(amqpvalue_decoder)
 */
      /*else*/ {
        __pyx_t_5 = __pyx_v_message_decoder->decoded_message;
        __pyx_v_result = __pyx_t_5;
      }
    }

    /* "src/message.pyx":669
 *                 result = message_decoder.decoded_message
 * 
 *         c_amqpvalue.amqpvalue_decoder_destroy(amqpvalue_decoder)             # <<<<<<<<<<<<<<
 *     return message_factory(result)
 * 
 */
    amqpvalue_decoder_destroy(__pyx_v_amqpvalue_decoder);
  }

  /* "src/message.pyx":670
 * 
 *         c_amqpvalue.amqpvalue_decoder_destroy(amqpvalue_decoder)
 *     return message_factory(result)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_4 = __pyx_f_5uamqp_7c_uamqp_message_factory(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5uamqp_7c_uamqp_cMessage))))) __PYX_ERR(0, 670, __pyx_L1_error)
  __pyx_r = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)__pyx_t_4);
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/message.pyx":652
 * 
 * 
 * cpdef cMessage decode_message(stdint.uint32_t payload_size, const unsigned char* payload_bytes):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQPVALUE_DECODER_HANDLE amqpvalue_decoder
 *     cdef c_message.MESSAGE_HANDLE result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.decode_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_message_decoder);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_83decode_message(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_83decode_message(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_payload_size;
  unsigned char const *__pyx_v_payload_bytes;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_message (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_payload_size,&__pyx_n_s_payload_bytes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_payload_size)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_payload_bytes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("decode_message", 1, 2, 2, 1); __PYX_ERR(0, 652, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "decode_message") < 0)) __PYX_ERR(0, 652, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_payload_size = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_payload_size == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 652, __pyx_L3_error)
    __pyx_v_payload_bytes = __Pyx_PyObject_AsUString(values[1]); if (unlikely((!__pyx_v_payload_bytes) && PyErr_Occurred())) __PYX_ERR(0, 652, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("decode_message", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 652, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.decode_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_82decode_message(__pyx_self, __pyx_v_payload_size, __pyx_v_payload_bytes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_82decode_message(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_payload_size, unsigned char const *__pyx_v_payload_bytes) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("decode_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_5uamqp_7c_uamqp_decode_message(__pyx_v_payload_size, __pyx_v_payload_bytes, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.decode_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message.pyx":673
 * 
 * 
 * cdef void decode_message_data(void* context, c_amqpvalue.AMQP_VALUE decoded_value):             # <<<<<<<<<<<<<<
 *     message_decoder = <cMessageDecoder>context
 *     cdef c_message.MESSAGE_HANDLE decoded_message
 */

static void __pyx_f_5uamqp_7c_uamqp_decode_message_data(void *__pyx_v_context, AMQP_VALUE __pyx_v_decoded_value) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *__pyx_v_message_decoder = NULL;
  MESSAGE_HANDLE __pyx_v_decoded_message;
  AMQP_VALUE __pyx_v_descriptor;
  PROPERTIES_HANDLE __pyx_v_properties;
  annotations __pyx_v_delivery_annotations;
  annotations __pyx_v_message_annotations;
  HEADER_HANDLE __pyx_v_header;
  annotations __pyx_v_footer;
  enum MESSAGE_BODY_TYPE_TAG __pyx_v_body_type;
  AMQP_VALUE __pyx_v_body_amqp_value;
  AMQP_VALUE __pyx_v_body_data_value;
  data __pyx_v_data_value;
  BINARY_DATA __pyx_v_binary_data;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  MESSAGE_HANDLE __pyx_t_2;
  int __pyx_t_3;
  uint32_t __pyx_t_4;
  __Pyx_RefNannySetupContext("decode_message_data", 0);

  /* "src/message.pyx":674
 * 
 * cdef void decode_message_data(void* context, c_amqpvalue.AMQP_VALUE decoded_value):
 *     message_decoder = <cMessageDecoder>context             # <<<<<<<<<<<<<<
 *     cdef c_message.MESSAGE_HANDLE decoded_message
 *     cdef c_amqpvalue.AMQP_VALUE descriptor
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_message_decoder = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message.pyx":688
 *     cdef c_message.BINARY_DATA binary_data
 * 
 *     decoded_message = message_decoder.decoded_message             # <<<<<<<<<<<<<<
 *     descriptor = c_amqpvalue.amqpvalue_get_inplace_descriptor(decoded_value)
 * 
 */
  __pyx_t_2 = __pyx_v_message_decoder->decoded_message;
  __pyx_v_decoded_message = __pyx_t_2;

  /* "src/message.pyx":689
 * 
 *     decoded_message = message_decoder.decoded_message
 *     descriptor = c_amqpvalue.amqpvalue_get_inplace_descriptor(decoded_value)             # <<<<<<<<<<<<<<
 * 
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):
 */
  __pyx_v_descriptor = amqpvalue_get_inplace_descriptor(__pyx_v_decoded_value);

  /* "src/message.pyx":691
 *     descriptor = c_amqpvalue.amqpvalue_get_inplace_descriptor(decoded_value)
 * 
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_application_properties(decoded_message, decoded_value) != 0:
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 */
  __pyx_t_3 = (is_application_properties_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":692
 * 
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):
 *         if c_message.message_set_application_properties(decoded_message, decoded_value) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 * 
 */
    __pyx_t_3 = ((message_set_application_properties(__pyx_v_decoded_message, __pyx_v_decoded_value) != 0) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":693
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):
 *         if c_message.message_set_application_properties(decoded_message, decoded_value) != 0:
 *             message_decoder.decode_error = b"Error setting application properties on received message"             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error setting application properties on received message");

      /* "src/message.pyx":692
 * 
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):
 *         if c_message.message_set_application_properties(decoded_message, decoded_value) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 * 
 */
    }

    /* "src/message.pyx":691
 *     descriptor = c_amqpvalue.amqpvalue_get_inplace_descriptor(decoded_value)
 * 
 *     if c_amqp_definitions.is_application_properties_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_set_application_properties(decoded_message, decoded_value) != 0:
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":695
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 * 
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.amqpvalue_get_properties(decoded_value, &properties) != 0:
 *             message_decoder.decode_error = b"Error getting message properties"
 */
  __pyx_t_3 = (is_properties_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":696
 * 
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_properties(decoded_value, &properties) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message properties"
 * 
 */
    __pyx_t_3 = ((amqpvalue_get_properties(__pyx_v_decoded_value, (&__pyx_v_properties)) != 0) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":697
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_properties(decoded_value, &properties) != 0:
 *             message_decoder.decode_error = b"Error getting message properties"             # <<<<<<<<<<<<<<
 * 
 *         else:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message properties");

      /* "src/message.pyx":696
 * 
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_properties(decoded_value, &properties) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message properties"
 * 
 */
      goto __pyx_L5;
    }

    /* "src/message.pyx":700
 * 
 *         else:
 *             if c_message.message_set_properties(decoded_message, properties) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message properties on received message"
 *             c_amqp_definitions.properties_destroy(properties)
 */
    /*else*/ {
      __pyx_t_3 = ((message_set_properties(__pyx_v_decoded_message, __pyx_v_properties) != 0) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":701
 *         else:
 *             if c_message.message_set_properties(decoded_message, properties) != 0:
 *                 message_decoder.decode_error = b"Error setting message properties on received message"             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.properties_destroy(properties)
 * 
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Error setting message properties on received message");

        /* "src/message.pyx":700
 * 
 *         else:
 *             if c_message.message_set_properties(decoded_message, properties) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message properties on received message"
 *             c_amqp_definitions.properties_destroy(properties)
 */
      }

      /* "src/message.pyx":702
 *             if c_message.message_set_properties(decoded_message, properties) != 0:
 *                 message_decoder.decode_error = b"Error setting message properties on received message"
 *             c_amqp_definitions.properties_destroy(properties)             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):
 */
      properties_destroy(__pyx_v_properties);
    }
    __pyx_L5:;

    /* "src/message.pyx":695
 *             message_decoder.decode_error = b"Error setting application properties on received message"
 * 
 *     elif c_amqp_definitions.is_properties_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.amqpvalue_get_properties(decoded_value, &properties) != 0:
 *             message_decoder.decode_error = b"Error getting message properties"
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":704
 *             c_amqp_definitions.properties_destroy(properties)
 * 
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>delivery_annotations == NULL:
 */
  __pyx_t_3 = (is_delivery_annotations_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":705
 * 
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)             # <<<<<<<<<<<<<<
 *         if <void*>delivery_annotations == NULL:
 *             message_decoder.decode_error = b"Error getting delivery annotations"
 */
    __pyx_v_delivery_annotations = amqpvalue_get_inplace_described_value(__pyx_v_decoded_value);

    /* "src/message.pyx":706
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>delivery_annotations == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting delivery annotations"
 *         else:
 */
    __pyx_t_3 = ((((void *)__pyx_v_delivery_annotations) == NULL) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":707
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>delivery_annotations == NULL:
 *             message_decoder.decode_error = b"Error getting delivery annotations"             # <<<<<<<<<<<<<<
 *         else:
 *             if c_message.message_set_delivery_annotations(decoded_message, delivery_annotations) != 0:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting delivery annotations");

      /* "src/message.pyx":706
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>delivery_annotations == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting delivery annotations"
 *         else:
 */
      goto __pyx_L7;
    }

    /* "src/message.pyx":709
 *             message_decoder.decode_error = b"Error getting delivery annotations"
 *         else:
 *             if c_message.message_set_delivery_annotations(decoded_message, delivery_annotations) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting delivery annotations on received message"
 * 
 */
    /*else*/ {
      __pyx_t_3 = ((message_set_delivery_annotations(__pyx_v_decoded_message, __pyx_v_delivery_annotations) != 0) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":710
 *         else:
 *             if c_message.message_set_delivery_annotations(decoded_message, delivery_annotations) != 0:
 *                 message_decoder.decode_error = b"Error setting delivery annotations on received message"             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Error setting delivery annotations on received message");

        /* "src/message.pyx":709
 *             message_decoder.decode_error = b"Error getting delivery annotations"
 *         else:
 *             if c_message.message_set_delivery_annotations(decoded_message, delivery_annotations) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting delivery annotations on received message"
 * 
 */
      }
    }
    __pyx_L7:;

    /* "src/message.pyx":704
 *             c_amqp_definitions.properties_destroy(properties)
 * 
 *     elif c_amqp_definitions.is_delivery_annotations_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         delivery_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>delivery_annotations == NULL:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":712
 *                 message_decoder.decode_error = b"Error setting delivery annotations on received message"
 * 
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>message_annotations == NULL:
 */
  __pyx_t_3 = (is_message_annotations_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":713
 * 
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)             # <<<<<<<<<<<<<<
 *         if <void*>message_annotations == NULL:
 *             message_decoder.decode_error = b"Error getting message annotations"
 */
    __pyx_v_message_annotations = amqpvalue_get_inplace_described_value(__pyx_v_decoded_value);

    /* "src/message.pyx":714
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>message_annotations == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message annotations"
 *         else:
 */
    __pyx_t_3 = ((((void *)__pyx_v_message_annotations) == NULL) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":715
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>message_annotations == NULL:
 *             message_decoder.decode_error = b"Error getting message annotations"             # <<<<<<<<<<<<<<
 *         else:
 *             if c_message.message_set_message_annotations(decoded_message, message_annotations) != 0:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message annotations");

      /* "src/message.pyx":714
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>message_annotations == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message annotations"
 *         else:
 */
      goto __pyx_L9;
    }

    /* "src/message.pyx":717
 *             message_decoder.decode_error = b"Error getting message annotations"
 *         else:
 *             if c_message.message_set_message_annotations(decoded_message, message_annotations) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message annotations on received message"
 * 
 */
    /*else*/ {
      __pyx_t_3 = ((message_set_message_annotations(__pyx_v_decoded_message, __pyx_v_message_annotations) != 0) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":718
 *         else:
 *             if c_message.message_set_message_annotations(decoded_message, message_annotations) != 0:
 *                 message_decoder.decode_error = b"Error setting message annotations on received message"             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Error setting message annotations on received message");

        /* "src/message.pyx":717
 *             message_decoder.decode_error = b"Error getting message annotations"
 *         else:
 *             if c_message.message_set_message_annotations(decoded_message, message_annotations) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message annotations on received message"
 * 
 */
      }
    }
    __pyx_L9:;

    /* "src/message.pyx":712
 *                 message_decoder.decode_error = b"Error setting delivery annotations on received message"
 * 
 *     elif c_amqp_definitions.is_message_annotations_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         message_annotations = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *         if <void*>message_annotations == NULL:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":720
 *                 message_decoder.decode_error = b"Error setting message annotations on received message"
 * 
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.amqpvalue_get_header(decoded_value, &header) != 0:
 *             message_decoder.decode_error = b"Error getting message header"
 */
  __pyx_t_3 = (is_header_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":721
 * 
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_header(decoded_value, &header) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message header"
 *         else:
 */
    __pyx_t_3 = ((amqpvalue_get_header(__pyx_v_decoded_value, (&__pyx_v_header)) != 0) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":722
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_header(decoded_value, &header) != 0:
 *             message_decoder.decode_error = b"Error getting message header"             # <<<<<<<<<<<<<<
 *         else:
 *             if c_message.message_set_header(decoded_message, header) != 0:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message header");

      /* "src/message.pyx":721
 * 
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):
 *         if c_amqp_definitions.amqpvalue_get_header(decoded_value, &header) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message header"
 *         else:
 */
      goto __pyx_L11;
    }

    /* "src/message.pyx":724
 *             message_decoder.decode_error = b"Error getting message header"
 *         else:
 *             if c_message.message_set_header(decoded_message, header) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message header on received message"
 *             c_amqp_definitions.header_destroy(header)
 */
    /*else*/ {
      __pyx_t_3 = ((message_set_header(__pyx_v_decoded_message, __pyx_v_header) != 0) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":725
 *         else:
 *             if c_message.message_set_header(decoded_message, header) != 0:
 *                 message_decoder.decode_error = b"Error setting message header on received message"             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.header_destroy(header)
 * 
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Error setting message header on received message");

        /* "src/message.pyx":724
 *             message_decoder.decode_error = b"Error getting message header"
 *         else:
 *             if c_message.message_set_header(decoded_message, header) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message header on received message"
 *             c_amqp_definitions.header_destroy(header)
 */
      }

      /* "src/message.pyx":726
 *             if c_message.message_set_header(decoded_message, header) != 0:
 *                 message_decoder.decode_error = b"Error setting message header on received message"
 *             c_amqp_definitions.header_destroy(header)             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):
 */
      header_destroy(__pyx_v_header);
    }
    __pyx_L11:;

    /* "src/message.pyx":720
 *                 message_decoder.decode_error = b"Error setting message annotations on received message"
 * 
 *     elif c_amqp_definitions.is_header_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.amqpvalue_get_header(decoded_value, &header) != 0:
 *             message_decoder.decode_error = b"Error getting message header"
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":728
 *             c_amqp_definitions.header_destroy(header)
 * 
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);
 *         if <void*>footer == NULL:
 */
  __pyx_t_3 = (is_footer_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":729
 * 
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);             # <<<<<<<<<<<<<<
 *         if <void*>footer == NULL:
 *             message_decoder.decode_error = b"Error getting message footer"
 */
    __pyx_v_footer = amqpvalue_get_inplace_described_value(__pyx_v_decoded_value);

    /* "src/message.pyx":730
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);
 *         if <void*>footer == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message footer"
 *         else:
 */
    __pyx_t_3 = ((((void *)__pyx_v_footer) == NULL) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":731
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);
 *         if <void*>footer == NULL:
 *             message_decoder.decode_error = b"Error getting message footer"             # <<<<<<<<<<<<<<
 *         else:
 *             if c_message.message_set_footer(decoded_message, footer) != 0:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message footer");

      /* "src/message.pyx":730
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);
 *         if <void*>footer == NULL:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message footer"
 *         else:
 */
      goto __pyx_L13;
    }

    /* "src/message.pyx":733
 *             message_decoder.decode_error = b"Error getting message footer"
 *         else:
 *             if c_message.message_set_footer(decoded_message, footer) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message footer on received message"
 * 
 */
    /*else*/ {
      __pyx_t_3 = ((message_set_footer(__pyx_v_decoded_message, __pyx_v_footer) != 0) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":734
 *         else:
 *             if c_message.message_set_footer(decoded_message, footer) != 0:
 *                 message_decoder.decode_error = b"Error setting message footer on received message"             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Error setting message footer on received message");

        /* "src/message.pyx":733
 *             message_decoder.decode_error = b"Error getting message footer"
 *         else:
 *             if c_message.message_set_footer(decoded_message, footer) != 0:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Error setting message footer on received message"
 * 
 */
      }
    }
    __pyx_L13:;

    /* "src/message.pyx":728
 *             c_amqp_definitions.header_destroy(header)
 * 
 *     elif c_amqp_definitions.is_footer_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         footer = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value);
 *         if <void*>footer == NULL:
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":736
 *                 message_decoder.decode_error = b"Error setting message footer on received message"
 * 
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"
 */
  __pyx_t_3 = (is_amqp_value_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":737
 * 
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message body type"
 * 
 */
    __pyx_t_3 = ((message_get_body_type(__pyx_v_decoded_message, (&__pyx_v_body_type)) != 0) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":738
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"             # <<<<<<<<<<<<<<
 * 
 *         else:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message body type");

      /* "src/message.pyx":737
 * 
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message body type"
 * 
 */
      goto __pyx_L15;
    }

    /* "src/message.pyx":741
 * 
 *         else:
 *             if body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Body already set on received message"
 * 
 */
    /*else*/ {
      __pyx_t_3 = ((__pyx_v_body_type != MESSAGE_BODY_TYPE_NONE) != 0);
      if (__pyx_t_3) {

        /* "src/message.pyx":742
 *         else:
 *             if body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE:
 *                 message_decoder.decode_error = b"Body already set on received message"             # <<<<<<<<<<<<<<
 * 
 *             else:
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Body already set on received message");

        /* "src/message.pyx":741
 * 
 *         else:
 *             if body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE:             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Body already set on received message"
 * 
 */
        goto __pyx_L16;
      }

      /* "src/message.pyx":745
 * 
 *             else:
 *                 body_amqp_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)             # <<<<<<<<<<<<<<
 *                 if <void*>body_amqp_value == NULL:
 *                     message_decoder.decode_error = b"Error getting body AMQP value"
 */
      /*else*/ {
        __pyx_v_body_amqp_value = amqpvalue_get_inplace_described_value(__pyx_v_decoded_value);

        /* "src/message.pyx":746
 *             else:
 *                 body_amqp_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                     message_decoder.decode_error = b"Error getting body AMQP value"
 *                 else:
 */
        __pyx_t_3 = ((((void *)__pyx_v_body_amqp_value) == NULL) != 0);
        if (__pyx_t_3) {

          /* "src/message.pyx":747
 *                 body_amqp_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_amqp_value == NULL:
 *                     message_decoder.decode_error = b"Error getting body AMQP value"             # <<<<<<<<<<<<<<
 *                 else:
 *                     if c_message.message_set_body_amqp_value(decoded_message, body_amqp_value) != 0:
 */
          __pyx_v_message_decoder->decode_error = ((char const *)"Error getting body AMQP value");

          /* "src/message.pyx":746
 *             else:
 *                 body_amqp_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_amqp_value == NULL:             # <<<<<<<<<<<<<<
 *                     message_decoder.decode_error = b"Error getting body AMQP value"
 *                 else:
 */
          goto __pyx_L17;
        }

        /* "src/message.pyx":749
 *                     message_decoder.decode_error = b"Error getting body AMQP value"
 *                 else:
 *                     if c_message.message_set_body_amqp_value(decoded_message, body_amqp_value) != 0:             # <<<<<<<<<<<<<<
 *                         message_decoder.decode_error = b"Error setting body AMQP value on received message"
 * 
 */
        /*else*/ {
          __pyx_t_3 = ((message_set_body_amqp_value(__pyx_v_decoded_message, __pyx_v_body_amqp_value) != 0) != 0);
          if (__pyx_t_3) {

            /* "src/message.pyx":750
 *                 else:
 *                     if c_message.message_set_body_amqp_value(decoded_message, body_amqp_value) != 0:
 *                         message_decoder.decode_error = b"Error setting body AMQP value on received message"             # <<<<<<<<<<<<<<
 * 
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):
 */
            __pyx_v_message_decoder->decode_error = ((char const *)"Error setting body AMQP value on received message");

            /* "src/message.pyx":749
 *                     message_decoder.decode_error = b"Error getting body AMQP value"
 *                 else:
 *                     if c_message.message_set_body_amqp_value(decoded_message, body_amqp_value) != 0:             # <<<<<<<<<<<<<<
 *                         message_decoder.decode_error = b"Error setting body AMQP value on received message"
 * 
 */
          }
        }
        __pyx_L17:;
      }
      __pyx_L16:;
    }
    __pyx_L15:;

    /* "src/message.pyx":736
 *                 message_decoder.decode_error = b"Error setting message footer on received message"
 * 
 *     elif c_amqp_definitions.is_amqp_value_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"
 */
    goto __pyx_L3;
  }

  /* "src/message.pyx":752
 *                         message_decoder.decode_error = b"Error setting body AMQP value on received message"
 * 
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"
 */
  __pyx_t_3 = (is_data_type_by_descriptor(__pyx_v_descriptor) != 0);
  if (__pyx_t_3) {

    /* "src/message.pyx":753
 * 
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message body type"
 * 
 */
    __pyx_t_3 = ((message_get_body_type(__pyx_v_decoded_message, (&__pyx_v_body_type)) != 0) != 0);
    if (__pyx_t_3) {

      /* "src/message.pyx":754
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"             # <<<<<<<<<<<<<<
 * 
 *         else:
 */
      __pyx_v_message_decoder->decode_error = ((char const *)"Error getting message body type");

      /* "src/message.pyx":753
 * 
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:             # <<<<<<<<<<<<<<
 *             message_decoder.decode_error = b"Error getting message body type"
 * 
 */
      goto __pyx_L19;
    }

    /* "src/message.pyx":757
 * 
 *         else:
 *             if (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE) and (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA):             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Message body type already set to something different than AMQP DATA"
 * 
 */
    /*else*/ {
      switch (__pyx_v_body_type) {
        case MESSAGE_BODY_TYPE_NONE:
        case MESSAGE_BODY_TYPE_DATA:
        __pyx_t_3 = 0;
        break;
        default:
        __pyx_t_3 = 1;
        break;
      }
      if (__pyx_t_3) {

        /* "src/message.pyx":758
 *         else:
 *             if (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE) and (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA):
 *                 message_decoder.decode_error = b"Message body type already set to something different than AMQP DATA"             # <<<<<<<<<<<<<<
 * 
 *             else:
 */
        __pyx_v_message_decoder->decode_error = ((char const *)"Message body type already set to something different than AMQP DATA");

        /* "src/message.pyx":757
 * 
 *         else:
 *             if (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE) and (body_type != c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA):             # <<<<<<<<<<<<<<
 *                 message_decoder.decode_error = b"Message body type already set to something different than AMQP DATA"
 * 
 */
        goto __pyx_L20;
      }

      /* "src/message.pyx":761
 * 
 *             else:
 *                 body_data_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)             # <<<<<<<<<<<<<<
 *                 if <void*>body_data_value == NULL:
 *                     message_decoder.decode_error = b"Error getting body DATA value"
 */
      /*else*/ {
        __pyx_v_body_data_value = amqpvalue_get_inplace_described_value(__pyx_v_decoded_value);

        /* "src/message.pyx":762
 *             else:
 *                 body_data_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_data_value == NULL:             # <<<<<<<<<<<<<<
 *                     message_decoder.decode_error = b"Error getting body DATA value"
 * 
 */
        __pyx_t_3 = ((((void *)__pyx_v_body_data_value) == NULL) != 0);
        if (__pyx_t_3) {

          /* "src/message.pyx":763
 *                 body_data_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_data_value == NULL:
 *                     message_decoder.decode_error = b"Error getting body DATA value"             # <<<<<<<<<<<<<<
 * 
 *                 else:
 */
          __pyx_v_message_decoder->decode_error = ((char const *)"Error getting body DATA value");

          /* "src/message.pyx":762
 *             else:
 *                 body_data_value = c_amqpvalue.amqpvalue_get_inplace_described_value(decoded_value)
 *                 if <void*>body_data_value == NULL:             # <<<<<<<<<<<<<<
 *                     message_decoder.decode_error = b"Error getting body DATA value"
 * 
 */
          goto __pyx_L21;
        }

        /* "src/message.pyx":766
 * 
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_binary(body_data_value, &data_value) != 0:             # <<<<<<<<<<<<<<
 *                         message_decoder.decode_error = b"Error getting body DATA AMQP value"
 * 
 */
        /*else*/ {
          __pyx_t_3 = ((amqpvalue_get_binary(__pyx_v_body_data_value, (&__pyx_v_data_value)) != 0) != 0);
          if (__pyx_t_3) {

            /* "src/message.pyx":767
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_binary(body_data_value, &data_value) != 0:
 *                         message_decoder.decode_error = b"Error getting body DATA AMQP value"             # <<<<<<<<<<<<<<
 * 
 *                     else:
 */
            __pyx_v_message_decoder->decode_error = ((char const *)"Error getting body DATA AMQP value");

            /* "src/message.pyx":766
 * 
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_binary(body_data_value, &data_value) != 0:             # <<<<<<<<<<<<<<
 *                         message_decoder.decode_error = b"Error getting body DATA AMQP value"
 * 
 */
            goto __pyx_L22;
          }

          /* "src/message.pyx":770
 * 
 *                     else:
 *                         binary_data.bytes = <const unsigned char*>data_value.bytes             # <<<<<<<<<<<<<<
 *                         binary_data.length = data_value.length
 *                         if c_message.message_add_body_amqp_data(decoded_message, binary_data) != 0:
 */
          /*else*/ {
            __pyx_v_binary_data.bytes = ((unsigned char const *)__pyx_v_data_value.bytes);

            /* "src/message.pyx":771
 *                     else:
 *                         binary_data.bytes = <const unsigned char*>data_value.bytes
 *                         binary_data.length = data_value.length             # <<<<<<<<<<<<<<
 *                         if c_message.message_add_body_amqp_data(decoded_message, binary_data) != 0:
 *                             message_decoder.decode_error = b"Error adding body DATA to received message"
 */
            __pyx_t_4 = __pyx_v_data_value.length;
            __pyx_v_binary_data.length = __pyx_t_4;

            /* "src/message.pyx":772
 *                         binary_data.bytes = <const unsigned char*>data_value.bytes
 *                         binary_data.length = data_value.length
 *                         if c_message.message_add_body_amqp_data(decoded_message, binary_data) != 0:             # <<<<<<<<<<<<<<
 *                             message_decoder.decode_error = b"Error adding body DATA to received message"
 */
            __pyx_t_3 = ((message_add_body_amqp_data(__pyx_v_decoded_message, __pyx_v_binary_data) != 0) != 0);
            if (__pyx_t_3) {

              /* "src/message.pyx":773
 *                         binary_data.length = data_value.length
 *                         if c_message.message_add_body_amqp_data(decoded_message, binary_data) != 0:
 *                             message_decoder.decode_error = b"Error adding body DATA to received message"             # <<<<<<<<<<<<<<
 */
              __pyx_v_message_decoder->decode_error = ((char const *)"Error adding body DATA to received message");

              /* "src/message.pyx":772
 *                         binary_data.bytes = <const unsigned char*>data_value.bytes
 *                         binary_data.length = data_value.length
 *                         if c_message.message_add_body_amqp_data(decoded_message, binary_data) != 0:             # <<<<<<<<<<<<<<
 *                             message_decoder.decode_error = b"Error adding body DATA to received message"
 */
            }
          }
          __pyx_L22:;
        }
        __pyx_L21:;
      }
      __pyx_L20:;
    }
    __pyx_L19:;

    /* "src/message.pyx":752
 *                         message_decoder.decode_error = b"Error setting body AMQP value on received message"
 * 
 *     elif c_amqp_definitions.is_data_type_by_descriptor(descriptor):             # <<<<<<<<<<<<<<
 *         if c_message.message_get_body_type(decoded_message, &body_type) != 0:
 *             message_decoder.decode_error = b"Error getting message body type"
 */
  }
  __pyx_L3:;

  /* "src/message.pyx":673
 * 
 * 
 * cdef void decode_message_data(void* context, c_amqpvalue.AMQP_VALUE decoded_value):             # <<<<<<<<<<<<<<
 *     message_decoder = <cMessageDecoder>context
 *     cdef c_message.MESSAGE_HANDLE decoded_message
 */

  /* function exit code */
  __Pyx_XDECREF((PyObject *)__pyx_v_message_decoder);
  __Pyx_RefNannyFinishContext();
}

/* "src/message_receiver.pyx":21
 * 
 * 
 * cpdef create_message_receiver(cLink link, callback_context):             # <<<<<<<<<<<<<<
 *     receiver = cMessageReceiver()
 *     receiver.create(link, on_message_receiver_state_changed, <void*>callback_context)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_85create_message_receiver(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_receiver(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_receiver = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_receiver", 0);

  /* "src/message_receiver.pyx":22
 * 
 * cpdef create_message_receiver(cLink link, callback_context):
 *     receiver = cMessageReceiver()             # <<<<<<<<<<<<<<
 *     receiver.create(link, on_message_receiver_state_changed, <void*>callback_context)
 *     return receiver
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageReceiver)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_receiver = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":23
 * cpdef create_message_receiver(cLink link, callback_context):
 *     receiver = cMessageReceiver()
 *     receiver.create(link, on_message_receiver_state_changed, <void*>callback_context)             # <<<<<<<<<<<<<<
 *     return receiver
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_receiver->__pyx_vtab)->create(__pyx_v_receiver, __pyx_v_link, __pyx_f_5uamqp_7c_uamqp_on_message_receiver_state_changed, ((void *)__pyx_v_callback_context)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":24
 *     receiver = cMessageReceiver()
 *     receiver.create(link, on_message_receiver_state_changed, <void*>callback_context)
 *     return receiver             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_receiver));
  __pyx_r = ((PyObject *)__pyx_v_receiver);
  goto __pyx_L0;

  /* "src/message_receiver.pyx":21
 * 
 * 
 * cpdef create_message_receiver(cLink link, callback_context):             # <<<<<<<<<<<<<<
 *     receiver = cMessageReceiver()
 *     receiver.create(link, on_message_receiver_state_changed, <void*>callback_context)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_receiver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_receiver);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_85create_message_receiver(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_85create_message_receiver(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link = 0;
  PyObject *__pyx_v_callback_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_message_receiver (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_link,&__pyx_n_s_callback_context,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_link)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_message_receiver", 1, 2, 2, 1); __PYX_ERR(7, 21, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_message_receiver") < 0)) __PYX_ERR(7, 21, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)values[0]);
    __pyx_v_callback_context = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_message_receiver", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 21, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_receiver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_link), __pyx_ptype_5uamqp_7c_uamqp_cLink, 1, "link", 0))) __PYX_ERR(7, 21, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_84create_message_receiver(__pyx_self, __pyx_v_link, __pyx_v_callback_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_84create_message_receiver(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_receiver", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_message_receiver(__pyx_v_link, __pyx_v_callback_context, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_receiver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":33
 *     cdef cLink _link
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":36
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageReceiver")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/message_receiver.pyx":37
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageReceiver")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__187, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":38
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageReceiver")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":36
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageReceiver")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cMessageReceiver.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/message_receiver.pyx":40
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver__validate(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/message_receiver.pyx":41
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_receiver.pyx":42
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, cLink link, c_message_receiver.ON_MESSAGE_RECEIVER_STATE_CHANGED on_message_sender_state_changed, void* context):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 42, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 42, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message_receiver.pyx":41
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/message_receiver.pyx":40
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":44
 *             self._memory_error()
 * 
 *     cdef create(self, cLink link, c_message_receiver.ON_MESSAGE_RECEIVER_STATE_CHANGED on_message_sender_state_changed, void* context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = link
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, ON_MESSAGE_RECEIVER_STATE_CHANGED __pyx_v_on_message_sender_state_changed, void *__pyx_v_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/message_receiver.pyx":45
 * 
 *     cdef create(self, cLink link, c_message_receiver.ON_MESSAGE_RECEIVER_STATE_CHANGED on_message_sender_state_changed, void* context):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._link = link
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":46
 *     cdef create(self, cLink link, c_message_receiver.ON_MESSAGE_RECEIVER_STATE_CHANGED on_message_sender_state_changed, void* context):
 *         self.destroy()
 *         self._link = link             # <<<<<<<<<<<<<<
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._validate()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_link));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_link));
  __Pyx_GOTREF(__pyx_v_self->_link);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
  __pyx_v_self->_link = __pyx_v_link;

  /* "src/message_receiver.pyx":47
 *         self.destroy()
 *         self._link = link
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)             # <<<<<<<<<<<<<<
 *         self._validate()
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:
 */
  __pyx_v_self->_c_value = messagereceiver_create(__pyx_v_link->_c_value, __pyx_v_on_message_sender_state_changed, __pyx_v_context);

  /* "src/message_receiver.pyx":48
 *         self._link = link
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._validate()             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:
 *             self._value_error("Unable to retrieve message receiver link name.")
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":49
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._validate()
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to retrieve message receiver link name.")
 * 
 */
  __pyx_t_2 = ((messagereceiver_get_link_name(__pyx_v_self->_c_value, (&__pyx_v_self->_link_name)) != 0) != 0);
  if (__pyx_t_2) {

    /* "src/message_receiver.pyx":50
 *         self._validate()
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:
 *             self._value_error("Unable to retrieve message receiver link name.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self, callback_context):
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 50, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__188, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 50, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/message_receiver.pyx":49
 *         self._c_value = c_message_receiver.messagereceiver_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._validate()
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to retrieve message receiver link name.")
 * 
 */
  }

  /* "src/message_receiver.pyx":44
 *             self._memory_error()
 * 
 *     cdef create(self, cLink link, c_message_receiver.ON_MESSAGE_RECEIVER_STATE_CHANGED on_message_sender_state_changed, void* context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = link
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":52
 *             self._value_error("Unable to retrieve message receiver link name.")
 * 
 *     cpdef open(self, callback_context):             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_open(self._c_value, <c_message_receiver.ON_MESSAGE_RECEIVED>on_message_received, <void*>callback_context) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_5open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("open", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_5open)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_callback_context); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 52, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_callback_context};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 52, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_callback_context};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 52, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 52, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_callback_context);
          __Pyx_GIVEREF(__pyx_v_callback_context);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_callback_context);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 52, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":53
 * 
 *     cpdef open(self, callback_context):
 *         if c_message_receiver.messagereceiver_open(self._c_value, <c_message_receiver.ON_MESSAGE_RECEIVED>on_message_received, <void*>callback_context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_6 = ((messagereceiver_open(__pyx_v_self->_c_value, ((ON_MESSAGE_RECEIVED)__pyx_f_5uamqp_7c_uamqp_on_message_received), ((void *)__pyx_v_callback_context)) != 0) != 0);
  if (__pyx_t_6) {

    /* "src/message_receiver.pyx":54
 *     cpdef open(self, callback_context):
 *         if c_message_receiver.messagereceiver_open(self._c_value, <c_message_receiver.ON_MESSAGE_RECEIVED>on_message_received, <void*>callback_context) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 54, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 54, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 54, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_receiver.pyx":53
 * 
 *     cpdef open(self, callback_context):
 *         if c_message_receiver.messagereceiver_open(self._c_value, <c_message_receiver.ON_MESSAGE_RECEIVED>on_message_received, <void*>callback_context) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message_receiver.pyx":52
 *             self._value_error("Unable to retrieve message receiver link name.")
 * 
 *     cpdef open(self, callback_context):             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_open(self._c_value, <c_message_receiver.ON_MESSAGE_RECEIVED>on_message_received, <void*>callback_context) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_5open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_5open(PyObject *__pyx_v_self, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("open (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_4open(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), ((PyObject *)__pyx_v_callback_context));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_4open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("open", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_open(__pyx_v_self, __pyx_v_callback_context, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":56
 *             self._value_error()
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_close(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("close", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_7close)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 56, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 56, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":57
 * 
 *     cpdef close(self):
 *         if c_message_receiver.messagereceiver_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_5 = ((messagereceiver_close(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/message_receiver.pyx":58
 *     cpdef close(self):
 *         if c_message_receiver.messagereceiver_close(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 58, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 58, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 58, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_receiver.pyx":57
 * 
 *     cpdef close(self):
 *         if c_message_receiver.messagereceiver_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message_receiver.pyx":56
 *             self._value_error()
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_close(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_7close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_6close(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_6close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("close", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":60
 *             self._value_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageReceiver")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_9destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 60, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 60, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":61
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cMessageReceiver")
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/message_receiver.pyx":62
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageReceiver")             # <<<<<<<<<<<<<<
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 *             self._c_value = <c_message_receiver.MESSAGE_RECEIVER_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__189, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_receiver.pyx":63
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageReceiver")
 *             c_message_receiver.messagereceiver_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_message_receiver.MESSAGE_RECEIVER_HANDLE>NULL
 *             self._link = None
 */
    messagereceiver_destroy(__pyx_v_self->_c_value);

    /* "src/message_receiver.pyx":64
 *             _logger.debug("Destroying cMessageReceiver")
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 *             self._c_value = <c_message_receiver.MESSAGE_RECEIVER_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._link = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/message_receiver.pyx":65
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 *             self._c_value = <c_message_receiver.MESSAGE_RECEIVER_HANDLE>NULL
 *             self._link = None             # <<<<<<<<<<<<<<
 * 
 *     cpdef last_received_message_number(self):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_link);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
    __pyx_v_self->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None);

    /* "src/message_receiver.pyx":61
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cMessageReceiver")
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 */
  }

  /* "src/message_receiver.pyx":60
 *             self._value_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageReceiver")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_8destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":67
 *             self._link = None
 * 
 *     cpdef last_received_message_number(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_11last_received_message_number(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_last_received_message_number(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_skip_dispatch) {
  delivery_number __pyx_v_message_number;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("last_received_message_number", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_last_received_message_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 67, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_11last_received_message_number)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 67, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 67, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":69
 *     cpdef last_received_message_number(self):
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to retrieve last received message number.")
 *         return message_number
 */
  __pyx_t_5 = ((messagereceiver_get_received_message_id(__pyx_v_self->_c_value, (&__pyx_v_message_number)) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/message_receiver.pyx":70
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:
 *             self._value_error("Unable to retrieve last received message number.")             # <<<<<<<<<<<<<<
 *         return message_number
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__190, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message_receiver.pyx":69
 *     cpdef last_received_message_number(self):
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Unable to retrieve last received message number.")
 *         return message_number
 */
  }

  /* "src/message_receiver.pyx":71
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:
 *             self._value_error("Unable to retrieve last received message number.")
 *         return message_number             # <<<<<<<<<<<<<<
 * 
 *     cpdef settle_accepted_message(self, c_amqp_definitions.delivery_number message_number):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/message_receiver.pyx":67
 *             self._link = None
 * 
 *     cpdef last_received_message_number(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.last_received_message_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_11last_received_message_number(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_11last_received_message_number(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("last_received_message_number (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_10last_received_message_number(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_10last_received_message_number(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("last_received_message_number", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_last_received_message_number(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.last_received_message_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":73
 *         return message_number
 * 
 *     cpdef settle_accepted_message(self, c_amqp_definitions.delivery_number message_number):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_accepted()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_13settle_accepted_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_accepted_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_delivery_state;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("settle_accepted_message", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_settle_accepted_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_13settle_accepted_message)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 73, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 73, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 73, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 73, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 73, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 73, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":75
 *     cpdef settle_accepted_message(self, c_amqp_definitions.delivery_number message_number):
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_accepted()             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'accepted' for message number {}".format(message_number))
 */
  __pyx_v_delivery_state = messaging_delivery_accepted();

  /* "src/message_receiver.pyx":76
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_accepted()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'accepted' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  __pyx_t_7 = ((messagereceiver_send_message_disposition(__pyx_v_self->_c_value, __pyx_v_self->_link_name, __pyx_v_message_number, __pyx_v_delivery_state) != 0) != 0);
  if (unlikely(__pyx_t_7)) {

    /* "src/message_receiver.pyx":77
 *         delivery_state = c_message.messaging_delivery_accepted()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'accepted' for message number {}".format(message_number))             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_send_message_dispostit, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 77, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 77, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 77, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 77, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 77, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(7, 77, __pyx_L1_error)

    /* "src/message_receiver.pyx":76
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_accepted()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'accepted' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  }

  /* "src/message_receiver.pyx":78
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'accepted' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)             # <<<<<<<<<<<<<<
 * 
 *     cpdef settle_released_message(self, c_amqp_definitions.delivery_number message_number):
 */
  amqpvalue_destroy(__pyx_v_delivery_state);

  /* "src/message_receiver.pyx":73
 *         return message_number
 * 
 *     cpdef settle_accepted_message(self, c_amqp_definitions.delivery_number message_number):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_accepted()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_accepted_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_13settle_accepted_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_13settle_accepted_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number) {
  delivery_number __pyx_v_message_number;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("settle_accepted_message (wrapper)", 0);
  assert(__pyx_arg_message_number); {
    __pyx_v_message_number = __Pyx_PyInt_As_uint32_t(__pyx_arg_message_number); if (unlikely((__pyx_v_message_number == ((delivery_number)-1)) && PyErr_Occurred())) __PYX_ERR(7, 73, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_accepted_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_12settle_accepted_message(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), ((delivery_number)__pyx_v_message_number));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_12settle_accepted_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("settle_accepted_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_accepted_message(__pyx_v_self, __pyx_v_message_number, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_accepted_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":80
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_released_message(self, c_amqp_definitions.delivery_number message_number):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_released()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_15settle_released_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_released_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_delivery_state;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("settle_released_message", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_settle_released_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_15settle_released_message)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 80, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 80, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 80, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 80, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 80, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 80, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":82
 *     cpdef settle_released_message(self, c_amqp_definitions.delivery_number message_number):
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_released()             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'released' for message number {}".format(message_number))
 */
  __pyx_v_delivery_state = messaging_delivery_released();

  /* "src/message_receiver.pyx":83
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_released()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'released' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  __pyx_t_7 = ((messagereceiver_send_message_disposition(__pyx_v_self->_c_value, __pyx_v_self->_link_name, __pyx_v_message_number, __pyx_v_delivery_state) != 0) != 0);
  if (unlikely(__pyx_t_7)) {

    /* "src/message_receiver.pyx":84
 *         delivery_state = c_message.messaging_delivery_released()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'released' for message number {}".format(message_number))             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_send_message_dispostit_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_6) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 84, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 84, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 84, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 84, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 84, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(7, 84, __pyx_L1_error)

    /* "src/message_receiver.pyx":83
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_released()
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'released' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  }

  /* "src/message_receiver.pyx":85
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'released' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)             # <<<<<<<<<<<<<<
 * 
 *     cpdef settle_rejected_message(self, c_amqp_definitions.delivery_number message_number, const char* error_condition, const char* error_description, AMQPValue error_info=None):
 */
  amqpvalue_destroy(__pyx_v_delivery_state);

  /* "src/message_receiver.pyx":80
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_released_message(self, c_amqp_definitions.delivery_number message_number):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         delivery_state = c_message.messaging_delivery_released()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_released_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_15settle_released_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_15settle_released_message(PyObject *__pyx_v_self, PyObject *__pyx_arg_message_number) {
  delivery_number __pyx_v_message_number;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("settle_released_message (wrapper)", 0);
  assert(__pyx_arg_message_number); {
    __pyx_v_message_number = __Pyx_PyInt_As_uint32_t(__pyx_arg_message_number); if (unlikely((__pyx_v_message_number == ((delivery_number)-1)) && PyErr_Occurred())) __PYX_ERR(7, 80, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_released_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_14settle_released_message(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), ((delivery_number)__pyx_v_message_number));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_14settle_released_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("settle_released_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_released_message(__pyx_v_self, __pyx_v_message_number, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_released_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":87
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_rejected_message(self, c_amqp_definitions.delivery_number message_number, const char* error_condition, const char* error_description, AMQPValue error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_17settle_rejected_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, char const *__pyx_v_error_condition, char const *__pyx_v_error_description, int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message *__pyx_optional_args) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_error_info = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)Py_None);
  AMQP_VALUE __pyx_v_delivery_state;
  fields __pyx_v_delivery_fields;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_t_11;
  __Pyx_RefNannySetupContext("settle_rejected_message", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_error_info = __pyx_optional_args->error_info;
    }
  }
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_settle_rejected_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_17settle_rejected_message)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 87, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_error_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 87, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_error_description); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 87, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_error_info)};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 87, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_error_info)};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 87, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(7, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_7) {
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
        __Pyx_INCREF(((PyObject *)__pyx_v_error_info));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_error_info));
        PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, ((PyObject *)__pyx_v_error_info));
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":90
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if error_info is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 */
  __pyx_t_10 = (((PyObject *)__pyx_v_error_info) != Py_None);
  __pyx_t_11 = (__pyx_t_10 != 0);
  if (__pyx_t_11) {

    /* "src/message_receiver.pyx":91
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if error_info is not None:
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value             # <<<<<<<<<<<<<<
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 */
    __pyx_v_delivery_fields = ((fields)__pyx_v_error_info->_c_value);

    /* "src/message_receiver.pyx":90
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if error_info is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/message_receiver.pyx":93
 *             delivery_fields = <c_amqp_definitions.fields>error_info._c_value
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL             # <<<<<<<<<<<<<<
 *         delivery_state = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 */
  /*else*/ {
    __pyx_v_delivery_fields = ((fields)NULL);
  }
  __pyx_L3:;

  /* "src/message_receiver.pyx":94
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'rejected' for message number {}".format(message_number))
 */
  __pyx_v_delivery_state = messaging_delivery_rejected(__pyx_v_error_condition, __pyx_v_error_description, __pyx_v_delivery_fields);

  /* "src/message_receiver.pyx":95
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'rejected' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  __pyx_t_11 = ((messagereceiver_send_message_disposition(__pyx_v_self->_c_value, __pyx_v_self->_link_name, __pyx_v_message_number, __pyx_v_delivery_state) != 0) != 0);
  if (unlikely(__pyx_t_11)) {

    /* "src/message_receiver.pyx":96
 *         delivery_state = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'rejected' for message number {}".format(message_number))             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_send_message_dispostit_3, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 96, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 96, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 96, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(7, 96, __pyx_L1_error)

    /* "src/message_receiver.pyx":95
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'rejected' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  }

  /* "src/message_receiver.pyx":97
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'rejected' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)             # <<<<<<<<<<<<<<
 * 
 *     cpdef settle_modified_message(self, c_amqp_definitions.delivery_number message_number, bint delivery_failed, bint undeliverable_here, AMQPValue annotations):
 */
  amqpvalue_destroy(__pyx_v_delivery_state);

  /* "src/message_receiver.pyx":87
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_rejected_message(self, c_amqp_definitions.delivery_number message_number, const char* error_condition, const char* error_description, AMQPValue error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_rejected_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_17settle_rejected_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_17settle_rejected_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  delivery_number __pyx_v_message_number;
  char const *__pyx_v_error_condition;
  char const *__pyx_v_error_description;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_error_info = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("settle_rejected_message (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message_number,&__pyx_n_s_error_condition,&__pyx_n_s_error_description,&__pyx_n_s_error_info,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = (PyObject *)((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message_number)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_condition)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("settle_rejected_message", 0, 3, 4, 1); __PYX_ERR(7, 87, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("settle_rejected_message", 0, 3, 4, 2); __PYX_ERR(7, 87, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error_info);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "settle_rejected_message") < 0)) __PYX_ERR(7, 87, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_message_number = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_message_number == ((delivery_number)-1)) && PyErr_Occurred())) __PYX_ERR(7, 87, __pyx_L3_error)
    __pyx_v_error_condition = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_error_condition) && PyErr_Occurred())) __PYX_ERR(7, 87, __pyx_L3_error)
    __pyx_v_error_description = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_error_description) && PyErr_Occurred())) __PYX_ERR(7, 87, __pyx_L3_error)
    __pyx_v_error_info = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("settle_rejected_message", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 87, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_rejected_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_error_info), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "error_info", 0))) __PYX_ERR(7, 87, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_16settle_rejected_message(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), __pyx_v_message_number, __pyx_v_error_condition, __pyx_v_error_description, __pyx_v_error_info);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_16settle_rejected_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, char const *__pyx_v_error_condition, char const *__pyx_v_error_description, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_error_info) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message __pyx_t_2;
  __Pyx_RefNannySetupContext("settle_rejected_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.error_info = __pyx_v_error_info;
  __pyx_t_1 = __pyx_vtabptr_5uamqp_7c_uamqp_cMessageReceiver->settle_rejected_message(__pyx_v_self, __pyx_v_message_number, __pyx_v_error_condition, __pyx_v_error_description, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_rejected_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":99
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_modified_message(self, c_amqp_definitions.delivery_number message_number, bint delivery_failed, bint undeliverable_here, AMQPValue annotations):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_19settle_modified_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_modified_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_annotations, int __pyx_skip_dispatch) {
  AMQP_VALUE __pyx_v_delivery_state;
  fields __pyx_v_delivery_fields;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_t_11;
  __Pyx_RefNannySetupContext("settle_modified_message", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_settle_modified_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 99, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_19settle_modified_message)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_delivery_failed); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_undeliverable_here); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 99, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_annotations)};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 99, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_annotations)};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 99, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(7, 99, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_7) {
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
        __Pyx_INCREF(((PyObject *)__pyx_v_annotations));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_annotations));
        PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, ((PyObject *)__pyx_v_annotations));
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 99, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":102
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if annotations is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>annotations._c_value
 *         else:
 */
  __pyx_t_10 = (((PyObject *)__pyx_v_annotations) != Py_None);
  __pyx_t_11 = (__pyx_t_10 != 0);
  if (__pyx_t_11) {

    /* "src/message_receiver.pyx":103
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if annotations is not None:
 *             delivery_fields = <c_amqp_definitions.fields>annotations._c_value             # <<<<<<<<<<<<<<
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 */
    __pyx_v_delivery_fields = ((fields)__pyx_v_annotations->_c_value);

    /* "src/message_receiver.pyx":102
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 *         if annotations is not None:             # <<<<<<<<<<<<<<
 *             delivery_fields = <c_amqp_definitions.fields>annotations._c_value
 *         else:
 */
    goto __pyx_L3;
  }

  /* "src/message_receiver.pyx":105
 *             delivery_fields = <c_amqp_definitions.fields>annotations._c_value
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL             # <<<<<<<<<<<<<<
 *         delivery_state = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 */
  /*else*/ {
    __pyx_v_delivery_fields = ((fields)NULL);
  }
  __pyx_L3:;

  /* "src/message_receiver.pyx":106
 *         else:
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, delivery_fields)             # <<<<<<<<<<<<<<
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'delivery-modified' for message number {}".format(message_number))
 */
  __pyx_v_delivery_state = messaging_delivery_modified(__pyx_v_delivery_failed, __pyx_v_undeliverable_here, __pyx_v_delivery_fields);

  /* "src/message_receiver.pyx":107
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'delivery-modified' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  __pyx_t_11 = ((messagereceiver_send_message_disposition(__pyx_v_self->_c_value, __pyx_v_self->_link_name, __pyx_v_message_number, __pyx_v_delivery_state) != 0) != 0);
  if (unlikely(__pyx_t_11)) {

    /* "src/message_receiver.pyx":108
 *         delivery_state = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'delivery-modified' for message number {}".format(message_number))             # <<<<<<<<<<<<<<
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Unable_to_send_message_dispostit_4, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyInt_From_uint32_t(__pyx_v_message_number); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_9)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_9) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 108, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 108, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 108, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 108, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __pyx_t_9 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 108, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(7, 108, __pyx_L1_error)

    /* "src/message_receiver.pyx":107
 *             delivery_fields = <c_amqp_definitions.fields>NULL
 *         delivery_state = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, delivery_fields)
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("Unable to send message dispostition 'delivery-modified' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 */
  }

  /* "src/message_receiver.pyx":109
 *         if c_message_receiver.messagereceiver_send_message_disposition(self._c_value, self._link_name, message_number, delivery_state) != 0:
 *             raise RuntimeError("Unable to send message dispostition 'delivery-modified' for message number {}".format(message_number))
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, cMessageReceiver value):
 */
  amqpvalue_destroy(__pyx_v_delivery_state);

  /* "src/message_receiver.pyx":99
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cpdef settle_modified_message(self, c_amqp_definitions.delivery_number message_number, bint delivery_failed, bint undeliverable_here, AMQPValue annotations):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE delivery_state
 *         cdef c_amqp_definitions.fields delivery_fields
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_modified_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_19settle_modified_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_19settle_modified_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  delivery_number __pyx_v_message_number;
  int __pyx_v_delivery_failed;
  int __pyx_v_undeliverable_here;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_annotations = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("settle_modified_message (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message_number,&__pyx_n_s_delivery_failed,&__pyx_n_s_undeliverable_here,&__pyx_n_s_annotations,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message_number)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delivery_failed)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("settle_modified_message", 1, 4, 4, 1); __PYX_ERR(7, 99, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_undeliverable_here)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("settle_modified_message", 1, 4, 4, 2); __PYX_ERR(7, 99, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_annotations)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("settle_modified_message", 1, 4, 4, 3); __PYX_ERR(7, 99, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "settle_modified_message") < 0)) __PYX_ERR(7, 99, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_message_number = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_message_number == ((delivery_number)-1)) && PyErr_Occurred())) __PYX_ERR(7, 99, __pyx_L3_error)
    __pyx_v_delivery_failed = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_delivery_failed == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 99, __pyx_L3_error)
    __pyx_v_undeliverable_here = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_undeliverable_here == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 99, __pyx_L3_error)
    __pyx_v_annotations = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("settle_modified_message", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 99, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_modified_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_annotations), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "annotations", 0))) __PYX_ERR(7, 99, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_18settle_modified_message(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), __pyx_v_message_number, __pyx_v_delivery_failed, __pyx_v_undeliverable_here, __pyx_v_annotations);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_18settle_modified_message(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, delivery_number __pyx_v_message_number, int __pyx_v_delivery_failed, int __pyx_v_undeliverable_here, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_annotations) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("settle_modified_message", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_modified_message(__pyx_v_self, __pyx_v_message_number, __pyx_v_delivery_failed, __pyx_v_undeliverable_here, __pyx_v_annotations, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.settle_modified_message", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":111
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cdef wrap(self, cMessageReceiver value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = value._link
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  MESSAGE_RECEIVER_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/message_receiver.pyx":112
 * 
 *     cdef wrap(self, cMessageReceiver value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._link = value._link
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":113
 *     cdef wrap(self, cMessageReceiver value):
 *         self.destroy()
 *         self._link = value._link             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._validate()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_value->_link);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_link);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
  __pyx_v_self->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":114
 *         self.destroy()
 *         self._link = value._link
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/message_receiver.pyx":115
 *         self._link = value._link
 *         self._c_value = value._c_value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":111
 *         c_amqpvalue.amqpvalue_destroy(delivery_state)
 * 
 *     cdef wrap(self, cMessageReceiver value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = value._link
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":117
 *         self._validate()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_message_receiver.messagereceiver_set_trace(self._c_value, value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_21set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_21set_trace)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 117, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 117, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 117, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 117, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 117, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_receiver.pyx":118
 * 
 *     cpdef set_trace(self, bint value):
 *         c_message_receiver.messagereceiver_set_trace(self._c_value, value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  messagereceiver_set_trace(__pyx_v_self->_c_value, __pyx_v_value);

  /* "src/message_receiver.pyx":117
 *         self._validate()
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_message_receiver.messagereceiver_set_trace(self._c_value, value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_21set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_21set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_trace (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 117, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_20set_trace(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_20set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, int __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_set_trace(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_22__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__191, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_24__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_16cMessageReceiver_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__192, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageReceiver.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_receiver.pyx":123
 * #### Callbacks (context is a MessageReceiver instance)
 * 
 * cdef void on_message_receiver_state_changed(void* context, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG new_state, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG previous_state):             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_message_receiver_state_changed(void *__pyx_v_context, enum MESSAGE_RECEIVER_STATE_TAG __pyx_v_new_state, enum MESSAGE_RECEIVER_STATE_TAG __pyx_v_previous_state) {
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("on_message_receiver_state_changed", 0);

  /* "src/message_receiver.pyx":124
 * 
 * cdef void on_message_receiver_state_changed(void* context, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG new_state, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG previous_state):
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_receiver.pyx":125
 * cdef void on_message_receiver_state_changed(void* context, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG new_state, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG previous_state):
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/message_receiver.pyx":126
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/message_receiver.pyx":127
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__193, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/message_receiver.pyx":128
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         try:
 */
      goto __pyx_L0;

      /* "src/message_receiver.pyx":126
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 */
    }

    /* "src/message_receiver.pyx":129
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         try:
 *             context_obj._state_changed(previous_state, new_state)
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/message_receiver.pyx":130
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/message_receiver.pyx":131
 *         context_obj = <object>context
 *         try:
 *             context_obj._state_changed(previous_state, new_state)             # <<<<<<<<<<<<<<
 *         except AttributeError:
 *             _logger.info("Unknown MessageReceiver state changed: %r to %r", previous_state, new_state)
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_state_changed); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 131, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_7 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(__pyx_v_previous_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 131, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(__pyx_v_new_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 131, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 131, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 131, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        {
          __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(7, 131, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_11);
          if (__pyx_t_9) {
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_8);
          __pyx_t_7 = 0;
          __pyx_t_8 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 131, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/message_receiver.pyx":130
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L10_try_end;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/message_receiver.pyx":132
 *         try:
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:             # <<<<<<<<<<<<<<
 *             _logger.info("Unknown MessageReceiver state changed: %r to %r", previous_state, new_state)
 * 
 */
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("uamqp.c_uamqp.on_message_receiver_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_11) < 0) __PYX_ERR(7, 132, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GOTREF(__pyx_t_11);

        /* "src/message_receiver.pyx":133
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 *             _logger.info("Unknown MessageReceiver state changed: %r to %r", previous_state, new_state)             # <<<<<<<<<<<<<<
 * 
 * 
 */
        __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 133, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(7, 133, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(__pyx_v_previous_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 133, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(__pyx_v_new_state); if (unlikely(!__pyx_t_12)) __PYX_ERR(7, 133, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_13 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_13)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_13);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_MessageReceiver_state_ch, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 133, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_MessageReceiver_state_ch, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 133, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        {
          __pyx_t_14 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(7, 133, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_14);
          if (__pyx_t_13) {
            __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
          }
          __Pyx_INCREF(__pyx_kp_s_Unknown_MessageReceiver_state_ch);
          __Pyx_GIVEREF(__pyx_kp_s_Unknown_MessageReceiver_state_ch);
          PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_10, __pyx_kp_s_Unknown_MessageReceiver_state_ch);
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_10, __pyx_t_12);
          __pyx_t_7 = 0;
          __pyx_t_12 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 133, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L6_exception_handled;
      }
      goto __pyx_L7_except_error;
      __pyx_L7_except_error:;

      /* "src/message_receiver.pyx":130
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L6_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_L10_try_end:;
    }

    /* "src/message_receiver.pyx":124
 * 
 * cdef void on_message_receiver_state_changed(void* context, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG new_state, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG previous_state):
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/message_receiver.pyx":123
 * #### Callbacks (context is a MessageReceiver instance)
 * 
 * cdef void on_message_receiver_state_changed(void* context, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG new_state, c_message_receiver.MESSAGE_RECEIVER_STATE_TAG previous_state):             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_message_receiver_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/message_receiver.pyx":136
 * 
 * 
 * cdef c_amqpvalue.AMQP_VALUE on_message_received(void* context, c_message.MESSAGE_HANDLE message):             # <<<<<<<<<<<<<<
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     cloned = c_message.message_clone(message)
 */

static AMQP_VALUE __pyx_f_5uamqp_7c_uamqp_on_message_received(void *__pyx_v_context, MESSAGE_HANDLE __pyx_v_message) {
  MESSAGE_HANDLE __pyx_v_cloned;
  PyObject *__pyx_v_wrapped_message = NULL;
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  AMQP_VALUE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("on_message_received", 0);

  /* "src/message_receiver.pyx":138
 * cdef c_amqpvalue.AMQP_VALUE on_message_received(void* context, c_message.MESSAGE_HANDLE message):
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     cloned = c_message.message_clone(message)             # <<<<<<<<<<<<<<
 *     wrapped_message = message_factory(cloned)
 * 
 */
  __pyx_v_cloned = message_clone(__pyx_v_message);

  /* "src/message_receiver.pyx":139
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     cloned = c_message.message_clone(message)
 *     wrapped_message = message_factory(cloned)             # <<<<<<<<<<<<<<
 * 
 *     if context != NULL:
 */
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_message_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapped_message = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":141
 *     wrapped_message = message_factory(cloned)
 * 
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_2 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_2) {

    /* "src/message_receiver.pyx":142
 * 
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _message_received during garbage collection")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/message_receiver.pyx":143
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call _message_received during garbage collection")
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 */
    __pyx_t_2 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_2) {

      /* "src/message_receiver.pyx":144
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _message_received during garbage collection")             # <<<<<<<<<<<<<<
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 *         context_obj = <object>context
 */
      __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__194, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/message_receiver.pyx":145
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _message_received during garbage collection")
 *             return <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_message_received'):
 */
      __pyx_r = NULL;
      goto __pyx_L0;

      /* "src/message_receiver.pyx":143
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call _message_received during garbage collection")
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 */
    }

    /* "src/message_receiver.pyx":146
 *             _logger.warning("Can't call _message_received during garbage collection")
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         if hasattr(context_obj, '_message_received'):
 *             context_obj._message_received(wrapped_message)
 */
    __pyx_t_1 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_context_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/message_receiver.pyx":147
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_message_received'):             # <<<<<<<<<<<<<<
 *             context_obj._message_received(wrapped_message)
 *     return <c_amqpvalue.AMQP_VALUE>NULL
 */
    __pyx_t_2 = __Pyx_HasAttr(__pyx_v_context_obj, __pyx_n_s_message_received); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 147, __pyx_L1_error)
    __pyx_t_4 = (__pyx_t_2 != 0);
    if (__pyx_t_4) {

      /* "src/message_receiver.pyx":148
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_message_received'):
 *             context_obj._message_received(wrapped_message)             # <<<<<<<<<<<<<<
 *     return <c_amqpvalue.AMQP_VALUE>NULL
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_message_received); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_wrapped_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_message};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 148, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_wrapped_message};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 148, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_1);
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 148, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_INCREF(__pyx_v_wrapped_message);
          __Pyx_GIVEREF(__pyx_v_wrapped_message);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_wrapped_message);
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 148, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/message_receiver.pyx":147
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 *         context_obj = <object>context
 *         if hasattr(context_obj, '_message_received'):             # <<<<<<<<<<<<<<
 *             context_obj._message_received(wrapped_message)
 *     return <c_amqpvalue.AMQP_VALUE>NULL
 */
    }

    /* "src/message_receiver.pyx":141
 *     wrapped_message = message_factory(cloned)
 * 
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/message_receiver.pyx":149
 *         if hasattr(context_obj, '_message_received'):
 *             context_obj._message_received(wrapped_message)
 *     return <c_amqpvalue.AMQP_VALUE>NULL             # <<<<<<<<<<<<<<
 */
  __pyx_r = NULL;
  goto __pyx_L0;

  /* "src/message_receiver.pyx":136
 * 
 * 
 * cdef c_amqpvalue.AMQP_VALUE on_message_received(void* context, c_message.MESSAGE_HANDLE message):             # <<<<<<<<<<<<<<
 *     cdef c_message.MESSAGE_HANDLE cloned
 *     cloned = c_message.message_clone(message)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_message_received", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_wrapped_message);
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":24
 * 
 * 
 * cpdef create_message_sender(cLink link, callback_context):             # <<<<<<<<<<<<<<
 *     sender = cMessageSender()
 *     sender.create(link, on_message_sender_state_changed, <void*>callback_context)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_87create_message_sender(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_sender(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_sender = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_sender", 0);

  /* "src/message_sender.pyx":25
 * 
 * cpdef create_message_sender(cLink link, callback_context):
 *     sender = cMessageSender()             # <<<<<<<<<<<<<<
 *     sender.create(link, on_message_sender_state_changed, <void*>callback_context)
 *     return sender
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageSender)); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sender = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message_sender.pyx":26
 * cpdef create_message_sender(cLink link, callback_context):
 *     sender = cMessageSender()
 *     sender.create(link, on_message_sender_state_changed, <void*>callback_context)             # <<<<<<<<<<<<<<
 *     return sender
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_sender->__pyx_vtab)->create(__pyx_v_sender, __pyx_v_link, __pyx_f_5uamqp_7c_uamqp_on_message_sender_state_changed, ((void *)__pyx_v_callback_context)); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":27
 *     sender = cMessageSender()
 *     sender.create(link, on_message_sender_state_changed, <void*>callback_context)
 *     return sender             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_sender));
  __pyx_r = ((PyObject *)__pyx_v_sender);
  goto __pyx_L0;

  /* "src/message_sender.pyx":24
 * 
 * 
 * cpdef create_message_sender(cLink link, callback_context):             # <<<<<<<<<<<<<<
 *     sender = cMessageSender()
 *     sender.create(link, on_message_sender_state_changed, <void*>callback_context)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_sender", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sender);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_87create_message_sender(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_87create_message_sender(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link = 0;
  PyObject *__pyx_v_callback_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_message_sender (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_link,&__pyx_n_s_callback_context,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_link)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_message_sender", 1, 2, 2, 1); __PYX_ERR(15, 24, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_message_sender") < 0)) __PYX_ERR(15, 24, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)values[0]);
    __pyx_v_callback_context = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_message_sender", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(15, 24, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_sender", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_link), __pyx_ptype_5uamqp_7c_uamqp_cLink, 1, "link", 0))) __PYX_ERR(15, 24, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_86create_message_sender(__pyx_self, __pyx_v_link, __pyx_v_callback_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_86create_message_sender(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_sender", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_message_sender(__pyx_v_link, __pyx_v_callback_context, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_sender", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":30
 * 
 * 
 * cdef create_message_sender_with_callback(cLink link,c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED callback, void* callback_context):             # <<<<<<<<<<<<<<
 *     sender = cMessageSender()
 *     sender.create(link, callback, callback_context)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_create_message_sender_with_callback(struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, ON_MESSAGE_SENDER_STATE_CHANGED __pyx_v_callback, void *__pyx_v_callback_context) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_sender = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_message_sender_with_callback", 0);

  /* "src/message_sender.pyx":31
 * 
 * cdef create_message_sender_with_callback(cLink link,c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED callback, void* callback_context):
 *     sender = cMessageSender()             # <<<<<<<<<<<<<<
 *     sender.create(link, callback, callback_context)
 *     return sender
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cMessageSender)); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sender = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message_sender.pyx":32
 * cdef create_message_sender_with_callback(cLink link,c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED callback, void* callback_context):
 *     sender = cMessageSender()
 *     sender.create(link, callback, callback_context)             # <<<<<<<<<<<<<<
 *     return sender
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_sender->__pyx_vtab)->create(__pyx_v_sender, __pyx_v_link, __pyx_v_callback, __pyx_v_callback_context); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":33
 *     sender = cMessageSender()
 *     sender.create(link, callback, callback_context)
 *     return sender             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_sender));
  __pyx_r = ((PyObject *)__pyx_v_sender);
  goto __pyx_L0;

  /* "src/message_sender.pyx":30
 * 
 * 
 * cdef create_message_sender_with_callback(cLink link,c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED callback, void* callback_context):             # <<<<<<<<<<<<<<
 *     sender = cMessageSender()
 *     sender.create(link, callback, callback_context)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_message_sender_with_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sender);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":41
 *     cdef cLink _link
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_14cMessageSender_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_14cMessageSender_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_14cMessageSender___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":44
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageSender")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_14cMessageSender_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_14cMessageSender_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/message_sender.pyx":45
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageSender")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__195, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":46
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageSender")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __enter__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":44
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cMessageSender")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cMessageSender.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/message_sender.pyx":48
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.open()
 *         return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_4__enter__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__enter__", 0);

  /* "src/message_sender.pyx":49
 * 
 *     def __enter__(self):
 *         self.open()             # <<<<<<<<<<<<<<
 *         return self
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->open(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":50
 *     def __enter__(self):
 *         self.open()
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __exit__(self, *args):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "src/message_sender.pyx":48
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         self.open()
 *         return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":52
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_6__exit__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__exit__", 0);

  /* "src/message_sender.pyx":53
 * 
 *     def __exit__(self, *args):
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":52
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":55
 *         self.destroy()
 * 
 *     cpdef open(self):             # <<<<<<<<<<<<<<
 *         if c_message_sender.messagesender_open(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_9open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("open", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_9open)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 55, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 55, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_sender.pyx":56
 * 
 *     cpdef open(self):
 *         if c_message_sender.messagesender_open(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_5 = ((messagesender_open(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/message_sender.pyx":57
 *     cpdef open(self):
 *         if c_message_sender.messagesender_open(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 57, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 57, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 57, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_sender.pyx":56
 * 
 *     cpdef open(self):
 *         if c_message_sender.messagesender_open(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message_sender.pyx":55
 *         self.destroy()
 * 
 *     cpdef open(self):             # <<<<<<<<<<<<<<
 *         if c_message_sender.messagesender_open(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_9open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_9open(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("open (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_8open(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_8open(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("open", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14cMessageSender_open(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":59
 *             self._value_error()
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_message_sender.messagesender_close(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_11close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("close", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_11close)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 59, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 59, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_sender.pyx":60
 * 
 *     cpdef close(self):
 *         if c_message_sender.messagesender_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_5 = ((messagesender_close(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/message_sender.pyx":61
 *     cpdef close(self):
 *         if c_message_sender.messagesender_close(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 61, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 61, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_sender.pyx":60
 * 
 *     cpdef close(self):
 *         if c_message_sender.messagesender_close(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/message_sender.pyx":59
 *             self._value_error()
 * 
 *     cpdef close(self):             # <<<<<<<<<<<<<<
 *         if c_message_sender.messagesender_close(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_11close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_11close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("close (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_10close(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_10close(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("close", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14cMessageSender_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":63
 *             self._value_error()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender__create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/message_sender.pyx":64
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_sender.pyx":65
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 65, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 65, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 65, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/message_sender.pyx":64
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/message_sender.pyx":63
 *             self._value_error()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":67
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageSender")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_13destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 67, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_13destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 67, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 67, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_sender.pyx":68
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cMessageSender")
 *             c_message_sender.messagesender_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/message_sender.pyx":69
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageSender")             # <<<<<<<<<<<<<<
 *             c_message_sender.messagesender_destroy(self._c_value)
 *             self._c_value = <c_message_sender.MESSAGE_SENDER_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__196, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_sender.pyx":70
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageSender")
 *             c_message_sender.messagesender_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_message_sender.MESSAGE_SENDER_HANDLE>NULL
 *             self._link = None
 */
    messagesender_destroy(__pyx_v_self->_c_value);

    /* "src/message_sender.pyx":71
 *             _logger.debug("Destroying cMessageSender")
 *             c_message_sender.messagesender_destroy(self._c_value)
 *             self._c_value = <c_message_sender.MESSAGE_SENDER_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._link = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/message_sender.pyx":72
 *             c_message_sender.messagesender_destroy(self._c_value)
 *             self._c_value = <c_message_sender.MESSAGE_SENDER_HANDLE>NULL
 *             self._link = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, cMessageSender value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_link);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
    __pyx_v_self->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None);

    /* "src/message_sender.pyx":68
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cMessageSender")
 *             c_message_sender.messagesender_destroy(self._c_value)
 */
  }

  /* "src/message_sender.pyx":67
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageSender")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_13destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_13destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_12destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_12destroy(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14cMessageSender_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":74
 *             self._link = None
 * 
 *     cdef wrap(self, cMessageSender value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = value._link
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  MESSAGE_SENDER_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/message_sender.pyx":75
 * 
 *     cdef wrap(self, cMessageSender value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._link = value._link
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":76
 *     cdef wrap(self, cMessageSender value):
 *         self.destroy()
 *         self._link = value._link             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._create()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_value->_link);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_link);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
  __pyx_v_self->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/message_sender.pyx":77
 *         self.destroy()
 *         self._link = value._link
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/message_sender.pyx":78
 *         self._link = value._link
 *         self._c_value = value._c_value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, cLink link, c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED on_message_sender_state_changed, void* context):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":74
 *             self._link = None
 * 
 *     cdef wrap(self, cMessageSender value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = value._link
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":80
 *         self._create()
 * 
 *     cdef create(self, cLink link, c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED on_message_sender_state_changed, void* context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = link
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_create(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cLink *__pyx_v_link, ON_MESSAGE_SENDER_STATE_CHANGED __pyx_v_on_message_sender_state_changed, void *__pyx_v_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/message_sender.pyx":81
 * 
 *     cdef create(self, cLink link, c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED on_message_sender_state_changed, void* context):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._link = link
 *         self._c_value = c_message_sender.messagesender_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":82
 *     cdef create(self, cLink link, c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED on_message_sender_state_changed, void* context):
 *         self.destroy()
 *         self._link = link             # <<<<<<<<<<<<<<
 *         self._c_value = c_message_sender.messagesender_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._create()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_link));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_link));
  __Pyx_GOTREF(__pyx_v_self->_link);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_link));
  __pyx_v_self->_link = __pyx_v_link;

  /* "src/message_sender.pyx":83
 *         self.destroy()
 *         self._link = link
 *         self._c_value = c_message_sender.messagesender_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = messagesender_create(__pyx_v_link->_c_value, __pyx_v_on_message_sender_state_changed, __pyx_v_context);

  /* "src/message_sender.pyx":84
 *         self._link = link
 *         self._c_value = c_message_sender.messagesender_create(<c_link.LINK_HANDLE>link._c_value, on_message_sender_state_changed, context)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_sender.pyx":80
 *         self._create()
 * 
 *     cdef create(self, cLink link, c_message_sender.ON_MESSAGE_SENDER_STATE_CHANGED on_message_sender_state_changed, void* context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._link = link
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":86
 *         self._create()
 * 
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):             # <<<<<<<<<<<<<<
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_15send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_send(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, tickcounter_ms_t __pyx_v_timeout, PyObject *__pyx_v_callback_context, int __pyx_skip_dispatch) {
  ASYNC_OPERATION_HANDLE __pyx_v_operation;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("send", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_send); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_15send)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_From_uint_fast32_t(__pyx_v_timeout); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[4] = {__pyx_t_5, ((PyObject *)__pyx_v_message), __pyx_t_3, __pyx_v_callback_context};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 86, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[4] = {__pyx_t_5, ((PyObject *)__pyx_v_message), __pyx_t_3, __pyx_v_callback_context};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 86, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(15, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__pyx_t_5) {
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
        }
        __Pyx_INCREF(((PyObject *)__pyx_v_message));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_message));
        PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, ((PyObject *)__pyx_v_message));
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3);
        __Pyx_INCREF(__pyx_v_callback_context);
        __Pyx_GIVEREF(__pyx_v_callback_context);
        PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_callback_context);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_sender.pyx":87
 * 
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)             # <<<<<<<<<<<<<<
 *         if <void*>operation is NULL:
 *             _logger.info("Send operation result is NULL")
 */
  __pyx_v_operation = messagesender_send_async(__pyx_v_self->_c_value, __pyx_v_message->_c_value, __pyx_f_5uamqp_7c_uamqp_on_message_send_complete, ((void *)__pyx_v_callback_context), __pyx_v_timeout);

  /* "src/message_sender.pyx":88
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:             # <<<<<<<<<<<<<<
 *             _logger.info("Send operation result is NULL")
 *             return False
 */
  __pyx_t_8 = ((((void *)__pyx_v_operation) == NULL) != 0);
  if (__pyx_t_8) {

    /* "src/message_sender.pyx":89
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:
 *             _logger.info("Send operation result is NULL")             # <<<<<<<<<<<<<<
 *             return False
 *         return True
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__197, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/message_sender.pyx":90
 *         if <void*>operation is NULL:
 *             _logger.info("Send operation result is NULL")
 *             return False             # <<<<<<<<<<<<<<
 *         return True
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "src/message_sender.pyx":88
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:             # <<<<<<<<<<<<<<
 *             _logger.info("Send operation result is NULL")
 *             return False
 */
  }

  /* "src/message_sender.pyx":91
 *             _logger.info("Send operation result is NULL")
 *             return False
 *         return True             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint value):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_True);
  __pyx_r = Py_True;
  goto __pyx_L0;

  /* "src/message_sender.pyx":86
 *         self._create()
 * 
 *     cpdef send(self, cMessage message, c_amqp_definitions.tickcounter_ms_t timeout, callback_context):             # <<<<<<<<<<<<<<
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.send", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_15send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_15send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message = 0;
  tickcounter_ms_t __pyx_v_timeout;
  PyObject *__pyx_v_callback_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("send (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_timeout,&__pyx_n_s_callback_context,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_timeout)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("send", 1, 3, 3, 1); __PYX_ERR(15, 86, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("send", 1, 3, 3, 2); __PYX_ERR(15, 86, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "send") < 0)) __PYX_ERR(15, 86, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_message = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)values[0]);
    __pyx_v_timeout = __Pyx_PyInt_As_uint_fast32_t(values[1]); if (unlikely((__pyx_v_timeout == ((tickcounter_ms_t)-1)) && PyErr_Occurred())) __PYX_ERR(15, 86, __pyx_L3_error)
    __pyx_v_callback_context = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("send", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(15, 86, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.send", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_message), __pyx_ptype_5uamqp_7c_uamqp_cMessage, 1, "message", 0))) __PYX_ERR(15, 86, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_14send(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self), __pyx_v_message, __pyx_v_timeout, __pyx_v_callback_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_14send(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *__pyx_v_message, tickcounter_ms_t __pyx_v_timeout, PyObject *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("send", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14cMessageSender_send(__pyx_v_self, __pyx_v_message, __pyx_v_timeout, __pyx_v_callback_context, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.send", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":93
 *         return True
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_message_sender.messagesender_set_trace(self._c_value, value)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_17set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_14cMessageSender_set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_v_value, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_17set_trace)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      if (!__pyx_t_5) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 93, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 93, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
          PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 93, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        } else
        #endif
        {
          __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(15, 93, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
          __Pyx_GIVEREF(__pyx_t_3);
          PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
          __pyx_t_3 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 93, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/message_sender.pyx":94
 * 
 *     cpdef set_trace(self, bint value):
 *         c_message_sender.messagesender_set_trace(self._c_value, value)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  messagesender_set_trace(__pyx_v_self->_c_value, __pyx_v_value);

  /* "src/message_sender.pyx":93
 *         return True
 * 
 *     cpdef set_trace(self, bint value):             # <<<<<<<<<<<<<<
 *         c_message_sender.messagesender_set_trace(self._c_value, value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_17set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_17set_trace(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_trace (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(15, 93, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_16set_trace(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_16set_trace(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, int __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_trace", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_14cMessageSender_set_trace(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.set_trace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_18__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__198, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_14cMessageSender_20__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_14cMessageSender_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__199, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cMessageSender.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/message_sender.pyx":100
 * 
 * 
 * cdef void on_message_send_complete(void* context, c_message_sender.MESSAGE_SEND_RESULT_TAG send_result, c_amqpvalue.AMQP_VALUE delivery_state):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQP_VALUE send_data
 *     if <void*>delivery_state == NULL:
 */

static void __pyx_f_5uamqp_7c_uamqp_on_message_send_complete(void *__pyx_v_context, enum MESSAGE_SEND_RESULT_TAG __pyx_v_send_result, AMQP_VALUE __pyx_v_delivery_state) {
  AMQP_VALUE __pyx_v_send_data;
  PyObject *__pyx_v_wrapped = NULL;
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("on_message_send_complete", 0);

  /* "src/message_sender.pyx":102
 * cdef void on_message_send_complete(void* context, c_message_sender.MESSAGE_SEND_RESULT_TAG send_result, c_amqpvalue.AMQP_VALUE delivery_state):
 *     cdef c_amqpvalue.AMQP_VALUE send_data
 *     if <void*>delivery_state == NULL:             # <<<<<<<<<<<<<<
 *         wrapped = None
 *     else:
 */
  __pyx_t_1 = ((((void *)__pyx_v_delivery_state) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_sender.pyx":103
 *     cdef c_amqpvalue.AMQP_VALUE send_data
 *     if <void*>delivery_state == NULL:
 *         wrapped = None             # <<<<<<<<<<<<<<
 *     else:
 *         send_data = c_amqpvalue.amqpvalue_clone(delivery_state)
 */
    __Pyx_INCREF(Py_None);
    __pyx_v_wrapped = Py_None;

    /* "src/message_sender.pyx":102
 * cdef void on_message_send_complete(void* context, c_message_sender.MESSAGE_SEND_RESULT_TAG send_result, c_amqpvalue.AMQP_VALUE delivery_state):
 *     cdef c_amqpvalue.AMQP_VALUE send_data
 *     if <void*>delivery_state == NULL:             # <<<<<<<<<<<<<<
 *         wrapped = None
 *     else:
 */
    goto __pyx_L3;
  }

  /* "src/message_sender.pyx":105
 *         wrapped = None
 *     else:
 *         send_data = c_amqpvalue.amqpvalue_clone(delivery_state)             # <<<<<<<<<<<<<<
 *         wrapped = copy.deepcopy(value_factory(send_data).value)
 *     if context != NULL:
 */
  /*else*/ {
    __pyx_v_send_data = amqpvalue_clone(__pyx_v_delivery_state);

    /* "src/message_sender.pyx":106
 *     else:
 *         send_data = c_amqpvalue.amqpvalue_clone(delivery_state)
 *         wrapped = copy.deepcopy(value_factory(send_data).value)             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 */
    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_send_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(15, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    if (!__pyx_t_3) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 106, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 106, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 106, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(15, 106, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5);
        __pyx_t_5 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 106, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_wrapped = __pyx_t_2;
    __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/message_sender.pyx":107
 *         send_data = c_amqpvalue.amqpvalue_clone(delivery_state)
 *         wrapped = copy.deepcopy(value_factory(send_data).value)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_sender.pyx":108
 *         wrapped = copy.deepcopy(value_factory(send_data).value)
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _on_message_sent during garbage collection")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/message_sender.pyx":109
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call _on_message_sent during garbage collection")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/message_sender.pyx":110
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _on_message_sent during garbage collection")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 110, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 110, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__200, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 110, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/message_sender.pyx":111
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _on_message_sent during garbage collection")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         if hasattr(context_obj, "_on_message_sent"):
 */
      goto __pyx_L0;

      /* "src/message_sender.pyx":109
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call _on_message_sent during garbage collection")
 *             return
 */
    }

    /* "src/message_sender.pyx":112
 *             _logger.warning("Can't call _on_message_sent during garbage collection")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         if hasattr(context_obj, "_on_message_sent"):
 *             context_obj._on_message_sent(context_obj, send_result, delivery_state=wrapped)
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/message_sender.pyx":113
 *             return
 *         context_obj = <object>context
 *         if hasattr(context_obj, "_on_message_sent"):             # <<<<<<<<<<<<<<
 *             context_obj._on_message_sent(context_obj, send_result, delivery_state=wrapped)
 * 
 */
    __pyx_t_1 = __Pyx_HasAttr(__pyx_v_context_obj, __pyx_n_s_on_message_sent); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(15, 113, __pyx_L1_error)
    __pyx_t_7 = (__pyx_t_1 != 0);
    if (__pyx_t_7) {

      /* "src/message_sender.pyx":114
 *         context_obj = <object>context
 *         if hasattr(context_obj, "_on_message_sent"):
 *             context_obj._on_message_sent(context_obj, send_result, delivery_state=wrapped)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_on_message_sent); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(__pyx_v_send_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(15, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_context_obj);
      __Pyx_GIVEREF(__pyx_v_context_obj);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_context_obj);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_delivery_state, __pyx_v_wrapped) < 0) __PYX_ERR(15, 114, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(15, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/message_sender.pyx":113
 *             return
 *         context_obj = <object>context
 *         if hasattr(context_obj, "_on_message_sent"):             # <<<<<<<<<<<<<<
 *             context_obj._on_message_sent(context_obj, send_result, delivery_state=wrapped)
 * 
 */
    }

    /* "src/message_sender.pyx":107
 *         send_data = c_amqpvalue.amqpvalue_clone(delivery_state)
 *         wrapped = copy.deepcopy(value_factory(send_data).value)
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/message_sender.pyx":100
 * 
 * 
 * cdef void on_message_send_complete(void* context, c_message_sender.MESSAGE_SEND_RESULT_TAG send_result, c_amqpvalue.AMQP_VALUE delivery_state):             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQP_VALUE send_data
 *     if <void*>delivery_state == NULL:
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_message_send_complete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_wrapped);
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/message_sender.pyx":117
 * 
 * 
 * cdef void on_message_sender_state_changed(void* context, c_message_sender.MESSAGE_SENDER_STATE_TAG new_state, c_message_sender.MESSAGE_SENDER_STATE_TAG previous_state):             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 */

static void __pyx_f_5uamqp_7c_uamqp_on_message_sender_state_changed(void *__pyx_v_context, enum MESSAGE_SENDER_STATE_TAG __pyx_v_new_state, enum MESSAGE_SENDER_STATE_TAG __pyx_v_previous_state) {
  PyObject *__pyx_v_context_pyobj;
  PyObject *__pyx_v_context_obj = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("on_message_sender_state_changed", 0);

  /* "src/message_sender.pyx":118
 * 
 * cdef void on_message_sender_state_changed(void* context, c_message_sender.MESSAGE_SENDER_STATE_TAG new_state, c_message_sender.MESSAGE_SENDER_STATE_TAG previous_state):
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  __pyx_t_1 = ((__pyx_v_context != NULL) != 0);
  if (__pyx_t_1) {

    /* "src/message_sender.pyx":119
 * cdef void on_message_sender_state_changed(void* context, c_message_sender.MESSAGE_SENDER_STATE_TAG new_state, c_message_sender.MESSAGE_SENDER_STATE_TAG previous_state):
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context             # <<<<<<<<<<<<<<
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 */
    __pyx_v_context_pyobj = ((PyObject *)__pyx_v_context);

    /* "src/message_sender.pyx":120
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 */
    __pyx_t_1 = ((__pyx_v_context_pyobj->ob_refcnt == 0) != 0);
    if (__pyx_t_1) {

      /* "src/message_sender.pyx":121
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warning); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__201, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/message_sender.pyx":122
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return             # <<<<<<<<<<<<<<
 *         context_obj = <object>context
 *         try:
 */
      goto __pyx_L0;

      /* "src/message_sender.pyx":120
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback             # <<<<<<<<<<<<<<
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 */
    }

    /* "src/message_sender.pyx":123
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")
 *             return
 *         context_obj = <object>context             # <<<<<<<<<<<<<<
 *         try:
 *             context_obj._state_changed(previous_state, new_state)
 */
    __pyx_t_2 = ((PyObject *)__pyx_v_context);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_context_obj = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/message_sender.pyx":124
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "src/message_sender.pyx":125
 *         context_obj = <object>context
 *         try:
 *             context_obj._state_changed(previous_state, new_state)             # <<<<<<<<<<<<<<
 *         except AttributeError:
 *             _logger.info("Unknown MessageSender state changed: %r to %r", previous_state, new_state)
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_state_changed); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 125, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_7 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(__pyx_v_previous_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(15, 125, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(__pyx_v_new_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 125, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 125, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_7, __pyx_t_8};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 125, __pyx_L5_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        } else
        #endif
        {
          __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(15, 125, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_11);
          if (__pyx_t_9) {
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
          }
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_8);
          PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_8);
          __pyx_t_7 = 0;
          __pyx_t_8 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 125, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/message_sender.pyx":124
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L10_try_end;
      __pyx_L5_error:;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/message_sender.pyx":126
 *         try:
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:             # <<<<<<<<<<<<<<
 *             _logger.info("Unknown MessageSender state changed: %r to %r", previous_state, new_state)
 */
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("uamqp.c_uamqp.on_message_sender_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_11) < 0) __PYX_ERR(15, 126, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_GOTREF(__pyx_t_11);

        /* "src/message_sender.pyx":127
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 *             _logger.info("Unknown MessageSender state changed: %r to %r", previous_state, new_state)             # <<<<<<<<<<<<<<
 */
        __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(15, 127, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(15, 127, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(__pyx_v_previous_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(15, 127, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(__pyx_v_new_state); if (unlikely(!__pyx_t_12)) __PYX_ERR(15, 127, __pyx_L7_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_13 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_13)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_13);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_MessageSender_state_chan, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 127, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
          PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_s_Unknown_MessageSender_state_chan, __pyx_t_7, __pyx_t_12};
          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 127, __pyx_L7_except_error)
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        } else
        #endif
        {
          __pyx_t_14 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(15, 127, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_14);
          if (__pyx_t_13) {
            __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
          }
          __Pyx_INCREF(__pyx_kp_s_Unknown_MessageSender_state_chan);
          __Pyx_GIVEREF(__pyx_kp_s_Unknown_MessageSender_state_chan);
          PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_10, __pyx_kp_s_Unknown_MessageSender_state_chan);
          __Pyx_GIVEREF(__pyx_t_7);
          PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_10, __pyx_t_7);
          __Pyx_GIVEREF(__pyx_t_12);
          PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_10, __pyx_t_12);
          __pyx_t_7 = 0;
          __pyx_t_12 = 0;
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 127, __pyx_L7_except_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L6_exception_handled;
      }
      goto __pyx_L7_except_error;
      __pyx_L7_except_error:;

      /* "src/message_sender.pyx":124
 *             return
 *         context_obj = <object>context
 *         try:             # <<<<<<<<<<<<<<
 *             context_obj._state_changed(previous_state, new_state)
 *         except AttributeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L1_error;
      __pyx_L6_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_L10_try_end:;
    }

    /* "src/message_sender.pyx":118
 * 
 * cdef void on_message_sender_state_changed(void* context, c_message_sender.MESSAGE_SENDER_STATE_TAG new_state, c_message_sender.MESSAGE_SENDER_STATE_TAG previous_state):
 *     if context != NULL:             # <<<<<<<<<<<<<<
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 */
  }

  /* "src/message_sender.pyx":117
 * 
 * 
 * cdef void on_message_sender_state_changed(void* context, c_message_sender.MESSAGE_SENDER_STATE_TAG new_state, c_message_sender.MESSAGE_SENDER_STATE_TAG previous_state):             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_pyobj = <PyObject*>context
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_message_sender_state_changed", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_RefNannyFinishContext();
}

/* "src/platform.pyx":20
 * 
 * 
 * cpdef platform_init():             # <<<<<<<<<<<<<<
 *     if c_platform.platform_init() != 0:
 *         raise ValueError("Failed to initialize platform.")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_89platform_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_platform_init(CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("platform_init", 0);

  /* "src/platform.pyx":21
 * 
 * cpdef platform_init():
 *     if c_platform.platform_init() != 0:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to initialize platform.")
 * 
 */
  __pyx_t_1 = ((platform_init() != 0) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/platform.pyx":22
 * cpdef platform_init():
 *     if c_platform.platform_init() != 0:
 *         raise ValueError("Failed to initialize platform.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__202, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(16, 22, __pyx_L1_error)

    /* "src/platform.pyx":21
 * 
 * cpdef platform_init():
 *     if c_platform.platform_init() != 0:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to initialize platform.")
 * 
 */
  }

  /* "src/platform.pyx":20
 * 
 * 
 * cpdef platform_init():             # <<<<<<<<<<<<<<
 *     if c_platform.platform_init() != 0:
 *         raise ValueError("Failed to initialize platform.")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.platform_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_89platform_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_89platform_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("platform_init (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_88platform_init(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_88platform_init(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("platform_init", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_platform_init(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.platform_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/platform.pyx":25
 * 
 * 
 * cpdef platform_deinit():             # <<<<<<<<<<<<<<
 *     _logger.debug("Deinitializing platform")
 *     c_platform.platform_deinit()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_91platform_deinit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_platform_deinit(CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("platform_deinit", 0);

  /* "src/platform.pyx":26
 * 
 * cpdef platform_deinit():
 *     _logger.debug("Deinitializing platform")             # <<<<<<<<<<<<<<
 *     c_platform.platform_deinit()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__203, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/platform.pyx":27
 * cpdef platform_deinit():
 *     _logger.debug("Deinitializing platform")
 *     c_platform.platform_deinit()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  platform_deinit();

  /* "src/platform.pyx":25
 * 
 * 
 * cpdef platform_deinit():             # <<<<<<<<<<<<<<
 *     _logger.debug("Deinitializing platform")
 *     c_platform.platform_deinit()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.platform_deinit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_91platform_deinit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_91platform_deinit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("platform_deinit (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_90platform_deinit(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_90platform_deinit(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("platform_deinit", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_platform_deinit(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.platform_deinit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/platform.pyx":30
 * 
 * 
 * cpdef get_info():             # <<<<<<<<<<<<<<
 *     cdef c_strings.STRING_HANDLE str_info
 *     str_info = c_platform.platform_get_platform_info()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_93get_info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_info(CYTHON_UNUSED int __pyx_skip_dispatch) {
  STRING_HANDLE __pyx_v_str_info;
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *__pyx_v_info = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_info", 0);

  /* "src/platform.pyx":32
 * cpdef get_info():
 *     cdef c_strings.STRING_HANDLE str_info
 *     str_info = c_platform.platform_get_platform_info()             # <<<<<<<<<<<<<<
 *     info = AMQPString()
 *     info.wrap(str_info)
 */
  __pyx_v_str_info = platform_get_platform_info();

  /* "src/platform.pyx":33
 *     cdef c_strings.STRING_HANDLE str_info
 *     str_info = c_platform.platform_get_platform_info()
 *     info = AMQPString()             # <<<<<<<<<<<<<<
 *     info.wrap(str_info)
 *     return info
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPString)); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_info = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/platform.pyx":34
 *     str_info = c_platform.platform_get_platform_info()
 *     info = AMQPString()
 *     info.wrap(str_info)             # <<<<<<<<<<<<<<
 *     return info
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString *)__pyx_v_info->__pyx_vtab)->wrap(__pyx_v_info, __pyx_v_str_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/platform.pyx":35
 *     info = AMQPString()
 *     info.wrap(str_info)
 *     return info             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_info));
  __pyx_r = ((PyObject *)__pyx_v_info);
  goto __pyx_L0;

  /* "src/platform.pyx":30
 * 
 * 
 * cpdef get_info():             # <<<<<<<<<<<<<<
 *     cdef c_strings.STRING_HANDLE str_info
 *     str_info = c_platform.platform_get_platform_info()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_info);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_93get_info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_93get_info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_info (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_92get_info(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_92get_info(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_info", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_get_info(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/platform.pyx":38
 * 
 * 
 * cpdef get_default_tlsio():             # <<<<<<<<<<<<<<
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_platform.platform_get_default_tlsio()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_95get_default_tlsio(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_default_tlsio(CYTHON_UNUSED int __pyx_skip_dispatch) {
  IO_INTERFACE_DESCRIPTION const *__pyx_v_io_desc;
  struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_interface = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("get_default_tlsio", 0);

  /* "src/platform.pyx":40
 * cpdef get_default_tlsio():
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_platform.platform_get_default_tlsio()             # <<<<<<<<<<<<<<
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create tlsio description.")
 */
  __pyx_v_io_desc = platform_get_default_tlsio();

  /* "src/platform.pyx":41
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_platform.platform_get_default_tlsio()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create tlsio description.")
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_io_desc) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/platform.pyx":42
 *     io_desc = c_platform.platform_get_default_tlsio()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create tlsio description.")             # <<<<<<<<<<<<<<
 * 
 *     interface = IOInterfaceDescription()
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__204, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(16, 42, __pyx_L1_error)

    /* "src/platform.pyx":41
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_platform.platform_get_default_tlsio()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create tlsio description.")
 * 
 */
  }

  /* "src/platform.pyx":44
 *         raise ValueError("Failed to create tlsio description.")
 * 
 *     interface = IOInterfaceDescription()             # <<<<<<<<<<<<<<
 *     interface.wrap(io_desc)
 *     return interface
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_IOInterfaceDescription)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/platform.pyx":45
 * 
 *     interface = IOInterfaceDescription()
 *     interface.wrap(io_desc)             # <<<<<<<<<<<<<<
 *     return interface
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_IOInterfaceDescription *)__pyx_v_interface->__pyx_vtab)->wrap(__pyx_v_interface, __pyx_v_io_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/platform.pyx":46
 *     interface = IOInterfaceDescription()
 *     interface.wrap(io_desc)
 *     return interface             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_interface));
  __pyx_r = ((PyObject *)__pyx_v_interface);
  goto __pyx_L0;

  /* "src/platform.pyx":38
 * 
 * 
 * cpdef get_default_tlsio():             # <<<<<<<<<<<<<<
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_platform.platform_get_default_tlsio()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_default_tlsio", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_interface);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_95get_default_tlsio(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_95get_default_tlsio(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_default_tlsio (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_94get_default_tlsio(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_94get_default_tlsio(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_default_tlsio", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_get_default_tlsio(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_default_tlsio", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":20
 * 
 * 
 * cpdef create_properties():             # <<<<<<<<<<<<<<
 *     new_props = cProperties()
 *     return new_props
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_97create_properties(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_properties(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_new_props = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_properties", 0);

  /* "src/properties.pyx":21
 * 
 * cpdef create_properties():
 *     new_props = cProperties()             # <<<<<<<<<<<<<<
 *     return new_props
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_props = ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/properties.pyx":22
 * cpdef create_properties():
 *     new_props = cProperties()
 *     return new_props             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_props));
  __pyx_r = ((PyObject *)__pyx_v_new_props);
  goto __pyx_L0;

  /* "src/properties.pyx":20
 * 
 * 
 * cpdef create_properties():             # <<<<<<<<<<<<<<
 *     new_props = cProperties()
 *     return new_props
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_props);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_97create_properties(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_97create_properties(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_properties (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_96create_properties(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_96create_properties(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_properties", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_properties(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":25
 * 
 * 
 * cpdef load_properties(AMQPValue value):             # <<<<<<<<<<<<<<
 *     new_props = cProperties()
 *     new_props.load_from_value(value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_99load_properties(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_load_properties(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_new_props = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("load_properties", 0);

  /* "src/properties.pyx":26
 * 
 * cpdef load_properties(AMQPValue value):
 *     new_props = cProperties()             # <<<<<<<<<<<<<<
 *     new_props.load_from_value(value)
 *     return new_props
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_props = ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/properties.pyx":27
 * cpdef load_properties(AMQPValue value):
 *     new_props = cProperties()
 *     new_props.load_from_value(value)             # <<<<<<<<<<<<<<
 *     return new_props
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_new_props->__pyx_vtab)->load_from_value(__pyx_v_new_props, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":28
 *     new_props = cProperties()
 *     new_props.load_from_value(value)
 *     return new_props             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_props));
  __pyx_r = ((PyObject *)__pyx_v_new_props);
  goto __pyx_L0;

  /* "src/properties.pyx":25
 * 
 * 
 * cpdef load_properties(AMQPValue value):             # <<<<<<<<<<<<<<
 *     new_props = cProperties()
 *     new_props.load_from_value(value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.load_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_props);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_99load_properties(PyObject *__pyx_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_99load_properties(PyObject *__pyx_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load_properties (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(17, 25, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_98load_properties(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_98load_properties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("load_properties", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_load_properties(__pyx_v_value, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.load_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":35
 *     cdef c_amqp_definitions.PROPERTIES_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.properties_create()
 *         self._validate()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/properties.pyx":36
 * 
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.properties_create()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = properties_create();

  /* "src/properties.pyx":37
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.properties_create()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":35
 *     cdef c_amqp_definitions.PROPERTIES_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.properties_create()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":39
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cProperties")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_11cProperties_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_11cProperties_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_11cProperties_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_11cProperties_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/properties.pyx":40
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cProperties")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__205, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":41
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cProperties")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":39
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cProperties")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cProperties.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/properties.pyx":43
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties__validate(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/properties.pyx":44
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":45
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 45, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 45, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 45, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/properties.pyx":44
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/properties.pyx":43
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":47
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 47, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 47, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/properties.pyx":48
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      /*try:*/ {

        /* "src/properties.pyx":49
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cProperties")
 *                 c_amqp_definitions.properties_destroy(self._c_value)
 */
        __pyx_t_8 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
        if (__pyx_t_8) {

          /* "src/properties.pyx":50
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")             # <<<<<<<<<<<<<<
 *                 c_amqp_definitions.properties_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 50, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 50, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__206, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 50, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/properties.pyx":51
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")
 *                 c_amqp_definitions.properties_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *         except KeyboardInterrupt:
 *             pass
 */
          properties_destroy(__pyx_v_self->_c_value);

          /* "src/properties.pyx":49
 *     cpdef destroy(self):
 *         try:
 *             if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *                 _logger.debug("Destroying cProperties")
 *                 c_amqp_definitions.properties_destroy(self._c_value)
 */
        }

        /* "src/properties.pyx":48
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/properties.pyx":52
 *                 _logger.debug("Destroying cProperties")
 *                 c_amqp_definitions.properties_destroy(self._c_value)
 *         except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *             pass
 *         finally:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_9) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/properties.pyx":48
 * 
 *     cpdef destroy(self):
 *         try:             # <<<<<<<<<<<<<<
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")
 */
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
      __pyx_L11_try_end:;
    }
  }

  /* "src/properties.pyx":55
 *             pass
 *         finally:
 *             self._c_value = <c_amqp_definitions.PROPERTIES_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.PROPERTIES_HANDLE value):
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_v_self->_c_value = NULL;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_9 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
      {
        __pyx_v_self->_c_value = NULL;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5);
      __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/properties.pyx":47
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         try:
 *             if <void*>self._c_value is not NULL:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_11cProperties_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":57
 *             self._c_value = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.PROPERTIES_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, PROPERTIES_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/properties.pyx":58
 * 
 *     cdef wrap(self, c_amqp_definitions.PROPERTIES_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":59
 *     cdef wrap(self, c_amqp_definitions.PROPERTIES_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/properties.pyx":60
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cdef load_from_value(self, AMQPValue value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":57
 *             self._c_value = <c_amqp_definitions.PROPERTIES_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.PROPERTIES_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":62
 *         self._validate()
 * 
 *     cdef load_from_value(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_load_from_value(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("load_from_value", 0);

  /* "src/properties.pyx":63
 * 
 *     cdef load_from_value(self, AMQPValue value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:
 *             self._value_error()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":64
 *     cdef load_from_value(self, AMQPValue value):
 *         self.destroy()
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         self._validate()
 */
  __pyx_t_2 = ((amqpvalue_get_properties(__pyx_v_value->_c_value, (&__pyx_v_self->_c_value)) != 0) != 0);
  if (__pyx_t_2) {

    /* "src/properties.pyx":65
 *         self.destroy()
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 65, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 65, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 65, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/properties.pyx":64
 *     cdef load_from_value(self, AMQPValue value):
 *         self.destroy()
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         self._validate()
 */
  }

  /* "src/properties.pyx":66
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:
 *             self._value_error()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     cdef get_properties(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":62
 *         self._validate()
 * 
 *     cdef load_from_value(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         if c_amqp_definitions.amqpvalue_get_properties(value._c_value, &self._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.load_from_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":68
 *         self._validate()
 * 
 *     cdef get_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_get_properties(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("get_properties", 0);

  /* "src/properties.pyx":70
 *     cdef get_properties(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>_value is NULL:
 *             return None
 */
  __pyx_v__value = amqpvalue_create_properties(__pyx_v_self->_c_value);

  /* "src/properties.pyx":71
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)
 *         if <void*>_value is NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":72
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)
 *         if <void*>_value is NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/properties.pyx":71
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)
 *         if <void*>_value is NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value)
 */
  }

  /* "src/properties.pyx":73
 *         if <void*>_value is NULL:
 *             return None
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/properties.pyx":68
 *         self._validate()
 * 
 *     cdef get_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_properties(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.get_properties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":75
 *         return value_factory(_value)
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         value = c_amqp_definitions.properties_clone(self._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11cProperties_clone(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, int __pyx_skip_dispatch) {
  PROPERTIES_HANDLE __pyx_v_value;
  struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_new_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("clone", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clone); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_7clone)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 75, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 75, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/properties.pyx":77
 *     cpdef clone(self):
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         value = c_amqp_definitions.properties_clone(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>value == NULL:
 *             self._value_error()
 */
  __pyx_v_value = properties_clone(__pyx_v_self->_c_value);

  /* "src/properties.pyx":78
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         value = c_amqp_definitions.properties_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_obj = cProperties()
 */
  __pyx_t_5 = ((((void *)__pyx_v_value) == NULL) != 0);
  if (__pyx_t_5) {

    /* "src/properties.pyx":79
 *         value = c_amqp_definitions.properties_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         new_obj = cProperties()
 *         new_obj.wrap(value)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 79, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 79, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/properties.pyx":78
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         value = c_amqp_definitions.properties_clone(self._c_value)
 *         if <void*>value == NULL:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         new_obj = cProperties()
 */
  }

  /* "src/properties.pyx":80
 *         if <void*>value == NULL:
 *             self._value_error()
 *         new_obj = cProperties()             # <<<<<<<<<<<<<<
 *         new_obj.wrap(value)
 *         return new_obj
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_new_obj = ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/properties.pyx":81
 *             self._value_error()
 *         new_obj = cProperties()
 *         new_obj.wrap(value)             # <<<<<<<<<<<<<<
 *         return new_obj
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties *)__pyx_v_new_obj->__pyx_vtab)->wrap(__pyx_v_new_obj, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":82
 *         new_obj = cProperties()
 *         new_obj.wrap(value)
 *         return new_obj             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_new_obj));
  __pyx_r = ((PyObject *)__pyx_v_new_obj);
  goto __pyx_L0;

  /* "src/properties.pyx":75
 *         return value_factory(_value)
 * 
 *     cpdef clone(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.PROPERTIES_HANDLE value
 *         value = c_amqp_definitions.properties_clone(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_new_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7clone(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clone (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_6clone(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_6clone(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("clone", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_11cProperties_clone(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":85
 * 
 *     @property
 *     def message_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":88
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_message_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_message_id(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":89
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_message_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":90
 *         if c_amqp_definitions.properties_get_message_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":89
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_message_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    }

    /* "src/properties.pyx":91
 *             if <void*>_value == NULL:
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)             # <<<<<<<<<<<<<<
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 */
    __pyx_v_cloned = amqpvalue_clone(__pyx_v__value);

    /* "src/properties.pyx":92
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":93
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 *             return value_factory(cloned)
 *         else:
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 93, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 93, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/properties.pyx":92
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    }

    /* "src/properties.pyx":94
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 *             return value_factory(cloned)             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":88
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_message_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":96
 *             return value_factory(cloned)
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @message_id.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":85
 * 
 *     @property
 *     def message_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.message_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":99
 * 
 *     @message_id.setter
 *     def message_id(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_message_id(
 *             self._c_value, value._c_value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(17, 99, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_10message_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":101
 *     def message_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_message_id(
 *             self._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'message_id'.")
 * 
 */
  __pyx_t_1 = ((properties_set_message_id(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/properties.pyx":100
 *     @message_id.setter
 *     def message_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_message_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'message_id'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":102
 *         if c_amqp_definitions.properties_set_message_id(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'message_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__207, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":100
 *     @message_id.setter
 *     def message_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_message_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'message_id'.")
 */
  }

  /* "src/properties.pyx":99
 * 
 *     @message_id.setter
 *     def message_id(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_message_id(
 *             self._c_value, value._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.message_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":105
 * 
 *     @property
 *     def user_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         if c_amqp_definitions.properties_get_user_id(self._c_value, &_binary) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  amqp_binary __pyx_v__binary;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":107
 *     def user_id(self):
 *         cdef c_amqpvalue.amqp_binary _binary
 *         if c_amqp_definitions.properties_get_user_id(self._c_value, &_binary) == 0:             # <<<<<<<<<<<<<<
 *             return <char*>_binary.bytes
 *         else:
 */
  __pyx_t_1 = ((properties_get_user_id(__pyx_v_self->_c_value, (&__pyx_v__binary)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":108
 *         cdef c_amqpvalue.amqp_binary _binary
 *         if c_amqp_definitions.properties_get_user_id(self._c_value, &_binary) == 0:
 *             return <char*>_binary.bytes             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v__binary.bytes)); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":107
 *     def user_id(self):
 *         cdef c_amqpvalue.amqp_binary _binary
 *         if c_amqp_definitions.properties_get_user_id(self._c_value, &_binary) == 0:             # <<<<<<<<<<<<<<
 *             return <char*>_binary.bytes
 *         else:
 */
  }

  /* "src/properties.pyx":110
 *             return <char*>_binary.bytes
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @user_id.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":105
 * 
 *     @property
 *     def user_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         if c_amqp_definitions.properties_get_user_id(self._c_value, &_binary) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.user_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":113
 * 
 *     @user_id.setter
 *     def user_id(self, char* value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = sizeof(value)
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 113, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.user_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_7user_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value) {
  amqp_binary __pyx_v__binary;
  size_t __pyx_v_length;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":115
 *     def user_id(self, char* value):
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = sizeof(value)             # <<<<<<<<<<<<<<
 *         _binary.length = length
 *         _binary.bytes = value
 */
  __pyx_v_length = (sizeof(__pyx_v_value));

  /* "src/properties.pyx":116
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = sizeof(value)
 *         _binary.length = length             # <<<<<<<<<<<<<<
 *         _binary.bytes = value
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:
 */
  __pyx_v__binary.length = __pyx_v_length;

  /* "src/properties.pyx":117
 *         length = sizeof(value)
 *         _binary.length = length
 *         _binary.bytes = value             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:
 *             self._value_error("Could not set 'user_id'.")
 */
  __pyx_v__binary.bytes = __pyx_v_value;

  /* "src/properties.pyx":118
 *         _binary.length = length
 *         _binary.bytes = value
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Could not set 'user_id'.")
 * 
 */
  __pyx_t_1 = ((properties_set_user_id(__pyx_v_self->_c_value, __pyx_v__binary) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":119
 *         _binary.bytes = value
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:
 *             self._value_error("Could not set 'user_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__208, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":118
 *         _binary.length = length
 *         _binary.bytes = value
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Could not set 'user_id'.")
 * 
 */
  }

  /* "src/properties.pyx":113
 * 
 *     @user_id.setter
 *     def user_id(self, char* value):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.amqp_binary _binary
 *         length = sizeof(value)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.user_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":122
 * 
 *     @property
 *     def to(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_2to___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_2to___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":125
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_to(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_to(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":126
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":127
 *         if c_amqp_definitions.properties_get_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":126
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    }

    /* "src/properties.pyx":128
 *             if <void*>_value == NULL:
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)             # <<<<<<<<<<<<<<
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 */
    __pyx_v_cloned = amqpvalue_clone(__pyx_v__value);

    /* "src/properties.pyx":129
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":130
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 *             return value_factory(cloned)
 *         else:
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 130, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 130, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 130, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/properties.pyx":129
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    }

    /* "src/properties.pyx":131
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 *             return value_factory(cloned)             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":125
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_to(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":133
 *             return value_factory(cloned)
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @to.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":122
 * 
 *     @property
 *     def to(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.to.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":136
 * 
 *     @to.setter
 *     def to(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_to(
 *             self._c_value, value._c_value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(17, 136, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_2to_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_2to_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":138
 *     def to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_to(
 *             self._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'to'.")
 * 
 */
  __pyx_t_1 = ((properties_set_to(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/properties.pyx":137
 *     @to.setter
 *     def to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_to(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'to'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":139
 *         if c_amqp_definitions.properties_set_to(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'to'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__209, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":137
 *     @to.setter
 *     def to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_to(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'to'.")
 */
  }

  /* "src/properties.pyx":136
 * 
 *     @to.setter
 *     def to(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_to(
 *             self._c_value, value._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.to.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":142
 * 
 *     @property
 *     def subject(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  char *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":144
 *     def subject(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_subject(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":145
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":146
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":145
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":147
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":144
 *     def subject(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":149
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @subject.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":142
 * 
 *     @property
 *     def subject(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_subject(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.subject.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":152
 * 
 *     @subject.setter
 *     def subject(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_subject(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 152, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.subject.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_7subject_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":154
 *     def subject(self, char* value):
 *         if c_amqp_definitions.properties_set_subject(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'subject'.")
 * 
 */
  __pyx_t_1 = ((properties_set_subject(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":153
 *     @subject.setter
 *     def subject(self, char* value):
 *         if c_amqp_definitions.properties_set_subject(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'subject'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":155
 *         if c_amqp_definitions.properties_set_subject(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'subject'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__210, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":153
 *     @subject.setter
 *     def subject(self, char* value):
 *         if c_amqp_definitions.properties_set_subject(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'subject'.")
 */
  }

  /* "src/properties.pyx":152
 * 
 *     @subject.setter
 *     def subject(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_subject(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.subject.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":158
 * 
 *     @property
 *     def reply_to(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":161
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_reply_to(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_reply_to(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":162
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_reply_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":163
 *         if c_amqp_definitions.properties_get_reply_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":162
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_reply_to(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    }

    /* "src/properties.pyx":164
 *             if <void*>_value == NULL:
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)             # <<<<<<<<<<<<<<
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 */
    __pyx_v_cloned = amqpvalue_clone(__pyx_v__value);

    /* "src/properties.pyx":165
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":166
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 *             return value_factory(cloned)
 *         else:
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 166, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 166, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/properties.pyx":165
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    }

    /* "src/properties.pyx":167
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 *             return value_factory(cloned)             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":161
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_reply_to(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":169
 *             return value_factory(cloned)
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @reply_to.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":158
 * 
 *     @property
 *     def reply_to(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.reply_to.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":172
 * 
 *     @reply_to.setter
 *     def reply_to(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_reply_to(
 *             self._c_value, value._c_value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(17, 172, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_8reply_to_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":174
 *     def reply_to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_reply_to(
 *             self._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'reply_to'.")
 * 
 */
  __pyx_t_1 = ((properties_set_reply_to(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/properties.pyx":173
 *     @reply_to.setter
 *     def reply_to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_reply_to(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'reply_to'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":175
 *         if c_amqp_definitions.properties_set_reply_to(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'reply_to'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__211, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":173
 *     @reply_to.setter
 *     def reply_to(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_reply_to(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'reply_to'.")
 */
  }

  /* "src/properties.pyx":172
 * 
 *     @reply_to.setter
 *     def reply_to(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_reply_to(
 *             self._c_value, value._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.reply_to.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":178
 * 
 *     @property
 *     def correlation_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  AMQP_VALUE __pyx_v_cloned;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":181
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_correlation_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_correlation_id(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":182
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_correlation_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":183
 *         if c_amqp_definitions.properties_get_correlation_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":182
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_correlation_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 */
    }

    /* "src/properties.pyx":184
 *             if <void*>_value == NULL:
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)             # <<<<<<<<<<<<<<
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 */
    __pyx_v_cloned = amqpvalue_clone(__pyx_v__value);

    /* "src/properties.pyx":185
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    __pyx_t_1 = ((((void *)__pyx_v_cloned) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":186
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:
 *                 self._value_error()             # <<<<<<<<<<<<<<
 *             return value_factory(cloned)
 *         else:
 */
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 186, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 186, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/properties.pyx":185
 *                 return None
 *             cloned = c_amqpvalue.amqpvalue_clone(_value)
 *             if <void*>cloned == NULL:             # <<<<<<<<<<<<<<
 *                 self._value_error()
 *             return value_factory(cloned)
 */
    }

    /* "src/properties.pyx":187
 *             if <void*>cloned == NULL:
 *                 self._value_error()
 *             return value_factory(cloned)             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_cloned); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":181
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 *         if c_amqp_definitions.properties_get_correlation_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":189
 *             return value_factory(cloned)
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @correlation_id.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":178
 * 
 *     @property
 *     def correlation_id(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         cdef c_amqpvalue.AMQP_VALUE cloned
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.correlation_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":192
 * 
 *     @correlation_id.setter
 *     def correlation_id(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_correlation_id(
 *             self._c_value, value._c_value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(17, 192, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_14correlation_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":194
 *     def correlation_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_correlation_id(
 *             self._c_value, value._c_value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'correlation_id'.")
 * 
 */
  __pyx_t_1 = ((properties_set_correlation_id(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);

  /* "src/properties.pyx":193
 *     @correlation_id.setter
 *     def correlation_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_correlation_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'correlation_id'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":195
 *         if c_amqp_definitions.properties_set_correlation_id(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'correlation_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__212, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":193
 *     @correlation_id.setter
 *     def correlation_id(self, AMQPValue value):
 *         if c_amqp_definitions.properties_set_correlation_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'correlation_id'.")
 */
  }

  /* "src/properties.pyx":192
 * 
 *     @correlation_id.setter
 *     def correlation_id(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_correlation_id(
 *             self._c_value, value._c_value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.correlation_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":198
 * 
 *     @property
 *     def content_type(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  char *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":200
 *     def content_type(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_content_type(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":201
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":202
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":201
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":203
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":200
 *     def content_type(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":205
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @content_type.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":198
 * 
 *     @property
 *     def content_type(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_type(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":208
 * 
 *     @content_type.setter
 *     def content_type(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_content_type(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 208, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_12content_type_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":210
 *     def content_type(self, char* value):
 *         if c_amqp_definitions.properties_set_content_type(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'content_type'.")
 * 
 */
  __pyx_t_1 = ((properties_set_content_type(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":209
 *     @content_type.setter
 *     def content_type(self, char* value):
 *         if c_amqp_definitions.properties_set_content_type(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_type'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":211
 *         if c_amqp_definitions.properties_set_content_type(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_type'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__213, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":209
 *     @content_type.setter
 *     def content_type(self, char* value):
 *         if c_amqp_definitions.properties_set_content_type(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_type'.")
 */
  }

  /* "src/properties.pyx":208
 * 
 *     @content_type.setter
 *     def content_type(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_content_type(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":214
 * 
 *     @property
 *     def content_encoding(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  char *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":216
 *     def content_encoding(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_content_encoding(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":217
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":218
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":217
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":219
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":216
 *     def content_encoding(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":221
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @content_encoding.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":214
 * 
 *     @property
 *     def content_encoding(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_content_encoding(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_encoding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":224
 * 
 *     @content_encoding.setter
 *     def content_encoding(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_content_encoding(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 224, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_encoding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_16content_encoding_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":226
 *     def content_encoding(self, char* value):
 *         if c_amqp_definitions.properties_set_content_encoding(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'content_encoding'.")
 * 
 */
  __pyx_t_1 = ((properties_set_content_encoding(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":225
 *     @content_encoding.setter
 *     def content_encoding(self, char* value):
 *         if c_amqp_definitions.properties_set_content_encoding(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_encoding'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":227
 *         if c_amqp_definitions.properties_set_content_encoding(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_encoding'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__214, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":225
 *     @content_encoding.setter
 *     def content_encoding(self, char* value):
 *         if c_amqp_definitions.properties_set_content_encoding(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_encoding'.")
 */
  }

  /* "src/properties.pyx":224
 * 
 *     @content_encoding.setter
 *     def content_encoding(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_content_encoding(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.content_encoding.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":230
 * 
 *     @property
 *     def absolute_expiry_time(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  timestamp __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":232
 *     def absolute_expiry_time(self):
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_absolute_expiry_time(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":233
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":234
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":233
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":235
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":232
 *     def absolute_expiry_time(self):
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":237
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @absolute_expiry_time.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":230
 * 
 *     @property
 *     def absolute_expiry_time(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_absolute_expiry_time(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.absolute_expiry_time.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":240
 * 
 *     @absolute_expiry_time.setter
 *     def absolute_expiry_time(self, c_amqpvalue.timestamp value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  timestamp __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((timestamp)-1)) && PyErr_Occurred())) __PYX_ERR(17, 240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.absolute_expiry_time.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((timestamp)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, timestamp __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":242
 *     def absolute_expiry_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'absolute_expiry_time'.")
 * 
 */
  __pyx_t_1 = ((properties_set_absolute_expiry_time(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":241
 *     @absolute_expiry_time.setter
 *     def absolute_expiry_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'absolute_expiry_time'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":243
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'absolute_expiry_time'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__215, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":241
 *     @absolute_expiry_time.setter
 *     def absolute_expiry_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'absolute_expiry_time'.")
 */
  }

  /* "src/properties.pyx":240
 * 
 *     @absolute_expiry_time.setter
 *     def absolute_expiry_time(self, c_amqpvalue.timestamp value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.absolute_expiry_time.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":246
 * 
 *     @property
 *     def creation_time(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  timestamp __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":248
 *     def creation_time(self):
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_creation_time(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":249
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":250
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":249
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":251
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":248
 *     def creation_time(self):
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":253
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @creation_time.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":246
 * 
 *     @property
 *     def creation_time(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.timestamp _value
 *         if c_amqp_definitions.properties_get_creation_time(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.creation_time.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":256
 * 
 *     @creation_time.setter
 *     def creation_time(self, c_amqpvalue.timestamp value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_creation_time(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  timestamp __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_int64_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((timestamp)-1)) && PyErr_Occurred())) __PYX_ERR(17, 256, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.creation_time.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((timestamp)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_13creation_time_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, timestamp __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":258
 *     def creation_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_creation_time(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'create_time'.")
 * 
 */
  __pyx_t_1 = ((properties_set_creation_time(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":257
 *     @creation_time.setter
 *     def creation_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_creation_time(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'create_time'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":259
 *         if c_amqp_definitions.properties_set_creation_time(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'create_time'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__216, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":257
 *     @creation_time.setter
 *     def creation_time(self, c_amqpvalue.timestamp value):
 *         if c_amqp_definitions.properties_set_creation_time(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'create_time'.")
 */
  }

  /* "src/properties.pyx":256
 * 
 *     @creation_time.setter
 *     def creation_time(self, c_amqpvalue.timestamp value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_creation_time(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.creation_time.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":262
 * 
 *     @property
 *     def group_id(self):             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  char const *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":264
 *     def group_id(self):
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_group_id(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":265
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":266
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":265
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":267
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":264
 *     def group_id(self):
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":269
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @group_id.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":262
 * 
 *     @property
 *     def group_id(self):             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqp_definitions.properties_get_group_id(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":272
 * 
 *     @group_id.setter
 *     def group_id(self, const char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_group_id(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 272, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_8group_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":274
 *     def group_id(self, const char* value):
 *         if c_amqp_definitions.properties_set_group_id(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'group_id'.")
 * 
 */
  __pyx_t_1 = ((properties_set_group_id(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":273
 *     @group_id.setter
 *     def group_id(self, const char* value):
 *         if c_amqp_definitions.properties_set_group_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_id'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":275
 *         if c_amqp_definitions.properties_set_group_id(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__217, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":273
 *     @group_id.setter
 *     def group_id(self, const char* value):
 *         if c_amqp_definitions.properties_set_group_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_id'.")
 */
  }

  /* "src/properties.pyx":272
 * 
 *     @group_id.setter
 *     def group_id(self, const char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_group_id(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":278
 * 
 *     @property
 *     def group_sequence(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  sequence_no __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":280
 *     def group_sequence(self):
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_group_sequence(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":281
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":282
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":281
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":283
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":280
 *     def group_sequence(self):
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":285
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @group_sequence.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":278
 * 
 *     @property
 *     def group_sequence(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.sequence_no _value
 *         if c_amqp_definitions.properties_get_group_sequence(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_sequence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":288
 * 
 *     @group_sequence.setter
 *     def group_sequence(self, c_amqp_definitions.sequence_no value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_group_sequence(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  sequence_no __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((sequence_no)-1)) && PyErr_Occurred())) __PYX_ERR(17, 288, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_sequence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((sequence_no)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_14group_sequence_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, sequence_no __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":290
 *     def group_sequence(self, c_amqp_definitions.sequence_no value):
 *         if c_amqp_definitions.properties_set_group_sequence(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'group_Sequence'.")
 * 
 */
  __pyx_t_1 = ((properties_set_group_sequence(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":289
 *     @group_sequence.setter
 *     def group_sequence(self, c_amqp_definitions.sequence_no value):
 *         if c_amqp_definitions.properties_set_group_sequence(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_Sequence'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":291
 *         if c_amqp_definitions.properties_set_group_sequence(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_Sequence'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__218, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":289
 *     @group_sequence.setter
 *     def group_sequence(self, c_amqp_definitions.sequence_no value):
 *         if c_amqp_definitions.properties_set_group_sequence(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_Sequence'.")
 */
  }

  /* "src/properties.pyx":288
 * 
 *     @group_sequence.setter
 *     def group_sequence(self, c_amqp_definitions.sequence_no value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_group_sequence(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.group_sequence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":294
 * 
 *     @property
 *     def reply_to_group_id(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id___get__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  char *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/properties.pyx":296
 *     def reply_to_group_id(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  __pyx_t_1 = ((properties_get_reply_to_group_id(__pyx_v_self->_c_value, (&__pyx_v__value)) == 0) != 0);
  if (__pyx_t_1) {

    /* "src/properties.pyx":297
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
    if (__pyx_t_1) {

      /* "src/properties.pyx":298
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:
 *                 return None             # <<<<<<<<<<<<<<
 *             return _value
 *         else:
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;

      /* "src/properties.pyx":297
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:
 *             if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *                 return None
 *             return _value
 */
    }

    /* "src/properties.pyx":299
 *             if <void*>_value == NULL:
 *                 return None
 *             return _value             # <<<<<<<<<<<<<<
 *         else:
 *             return None
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/properties.pyx":296
 *     def reply_to_group_id(self):
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:             # <<<<<<<<<<<<<<
 *             if <void*>_value == NULL:
 *                 return None
 */
  }

  /* "src/properties.pyx":301
 *             return _value
 *         else:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *     @reply_to_group_id.setter
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }

  /* "src/properties.pyx":294
 * 
 *     @property
 *     def reply_to_group_id(self):             # <<<<<<<<<<<<<<
 *         cdef char* _value
 *         if c_amqp_definitions.properties_get_reply_to_group_id(self._c_value, &_value) == 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.reply_to_group_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/properties.pyx":304
 * 
 *     @reply_to_group_id.setter
 *     def reply_to_group_id(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_reply_to_group_id(
 *             self._c_value, value) != 0:
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsWritableString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(17, 304, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.reply_to_group_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((char *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, char *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/properties.pyx":306
 *     def reply_to_group_id(self, char* value):
 *         if c_amqp_definitions.properties_set_reply_to_group_id(
 *             self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *                 self._value_error("Could not set 'reply_to_group_id'.")
 */
  __pyx_t_1 = ((properties_set_reply_to_group_id(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);

  /* "src/properties.pyx":305
 *     @reply_to_group_id.setter
 *     def reply_to_group_id(self, char* value):
 *         if c_amqp_definitions.properties_set_reply_to_group_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'reply_to_group_id'.")
 */
  if (__pyx_t_1) {

    /* "src/properties.pyx":307
 *         if c_amqp_definitions.properties_set_reply_to_group_id(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'reply_to_group_id'.")             # <<<<<<<<<<<<<<
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__219, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/properties.pyx":305
 *     @reply_to_group_id.setter
 *     def reply_to_group_id(self, char* value):
 *         if c_amqp_definitions.properties_set_reply_to_group_id(             # <<<<<<<<<<<<<<
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'reply_to_group_id'.")
 */
  }

  /* "src/properties.pyx":304
 * 
 *     @reply_to_group_id.setter
 *     def reply_to_group_id(self, char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.properties_set_reply_to_group_id(
 *             self._c_value, value) != 0:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.reply_to_group_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_8__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__220, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11cProperties_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11cProperties_10__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11cProperties_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__221, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cProperties.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":18
 * 
 * 
 * cpdef _get_sasl_mechanism_interface():             # <<<<<<<<<<<<<<
 *     cdef const c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_101_get_sasl_mechanism_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp__get_sasl_mechanism_interface(CYTHON_UNUSED int __pyx_skip_dispatch) {
  SASL_MECHANISM_INTERFACE_DESCRIPTION const *__pyx_v_interface;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_desc = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("_get_sasl_mechanism_interface", 0);

  /* "src/sasl.pyx":20
 * cpdef _get_sasl_mechanism_interface():
 *     cdef const c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()             # <<<<<<<<<<<<<<
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL CBS Interface description")
 */
  __pyx_v_interface = saslmssbcbs_get_interface();

  /* "src/sasl.pyx":21
 *     cdef const c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 *     if <void*>interface == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL CBS Interface description")
 *     desc = SASLMechanismInterfaceDescription()
 */
  __pyx_t_1 = ((((void *)__pyx_v_interface) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/sasl.pyx":22
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL CBS Interface description")             # <<<<<<<<<<<<<<
 *     desc = SASLMechanismInterfaceDescription()
 *     desc.wrap(interface)
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__222, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 22, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(18, 22, __pyx_L1_error)

    /* "src/sasl.pyx":21
 *     cdef const c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 *     if <void*>interface == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL CBS Interface description")
 *     desc = SASLMechanismInterfaceDescription()
 */
  }

  /* "src/sasl.pyx":23
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL CBS Interface description")
 *     desc = SASLMechanismInterfaceDescription()             # <<<<<<<<<<<<<<
 *     desc.wrap(interface)
 *     return desc
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription)); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_desc = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/sasl.pyx":24
 *         raise ValueError("Failed to create SASL CBS Interface description")
 *     desc = SASLMechanismInterfaceDescription()
 *     desc.wrap(interface)             # <<<<<<<<<<<<<<
 *     return desc
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_desc->__pyx_vtab)->wrap(__pyx_v_desc, __pyx_v_interface); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/sasl.pyx":25
 *     desc = SASLMechanismInterfaceDescription()
 *     desc.wrap(interface)
 *     return desc             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_desc));
  __pyx_r = ((PyObject *)__pyx_v_desc);
  goto __pyx_L0;

  /* "src/sasl.pyx":18
 * 
 * 
 * cpdef _get_sasl_mechanism_interface():             # <<<<<<<<<<<<<<
 *     cdef const c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp._get_sasl_mechanism_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_101_get_sasl_mechanism_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_101_get_sasl_mechanism_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_get_sasl_mechanism_interface (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_100_get_sasl_mechanism_interface(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_100_get_sasl_mechanism_interface(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("_get_sasl_mechanism_interface", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp__get_sasl_mechanism_interface(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp._get_sasl_mechanism_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":28
 * 
 * 
 * cpdef saslanonymous_get_interface():             # <<<<<<<<<<<<<<
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_103saslanonymous_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_saslanonymous_get_interface(CYTHON_UNUSED int __pyx_skip_dispatch) {
  SASL_MECHANISM_INTERFACE_DESCRIPTION *__pyx_v_io_desc;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("saslanonymous_get_interface", 0);

  /* "src/sasl.pyx":30
 * cpdef saslanonymous_get_interface():
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()             # <<<<<<<<<<<<<<
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL Anonymous Interface description")
 */
  __pyx_v_io_desc = saslanonymous_get_interface();

  /* "src/sasl.pyx":31
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL Anonymous Interface description")
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_io_desc) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/sasl.pyx":32
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL Anonymous Interface description")             # <<<<<<<<<<<<<<
 * 
 *     interface = SASLMechanismInterfaceDescription()
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__223, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 32, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(18, 32, __pyx_L1_error)

    /* "src/sasl.pyx":31
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL Anonymous Interface description")
 * 
 */
  }

  /* "src/sasl.pyx":34
 *         raise ValueError("Failed to create SASL Anonymous Interface description")
 * 
 *     interface = SASLMechanismInterfaceDescription()             # <<<<<<<<<<<<<<
 *     interface.wrap(io_desc)
 *     return interface
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription)); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/sasl.pyx":35
 * 
 *     interface = SASLMechanismInterfaceDescription()
 *     interface.wrap(io_desc)             # <<<<<<<<<<<<<<
 *     return interface
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_interface->__pyx_vtab)->wrap(__pyx_v_interface, __pyx_v_io_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/sasl.pyx":36
 *     interface = SASLMechanismInterfaceDescription()
 *     interface.wrap(io_desc)
 *     return interface             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_interface));
  __pyx_r = ((PyObject *)__pyx_v_interface);
  goto __pyx_L0;

  /* "src/sasl.pyx":28
 * 
 * 
 * cpdef saslanonymous_get_interface():             # <<<<<<<<<<<<<<
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.saslanonymous_get_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_interface);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_103saslanonymous_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_103saslanonymous_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("saslanonymous_get_interface (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_102saslanonymous_get_interface(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_102saslanonymous_get_interface(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("saslanonymous_get_interface", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_saslanonymous_get_interface(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.saslanonymous_get_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":39
 * 
 * 
 * cpdef saslplain_get_interface():             # <<<<<<<<<<<<<<
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_105saslplain_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_saslplain_get_interface(CYTHON_UNUSED int __pyx_skip_dispatch) {
  SASL_MECHANISM_INTERFACE_DESCRIPTION *__pyx_v_io_desc;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("saslplain_get_interface", 0);

  /* "src/sasl.pyx":41
 * cpdef saslplain_get_interface():
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()             # <<<<<<<<<<<<<<
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL plain Interface description")
 */
  __pyx_v_io_desc = saslplain_get_interface();

  /* "src/sasl.pyx":42
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL plain Interface description")
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_io_desc) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/sasl.pyx":43
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL plain Interface description")             # <<<<<<<<<<<<<<
 * 
 *     interface = SASLMechanismInterfaceDescription()
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__224, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 43, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(18, 43, __pyx_L1_error)

    /* "src/sasl.pyx":42
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 *     if <void*>io_desc == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL plain Interface description")
 * 
 */
  }

  /* "src/sasl.pyx":45
 *         raise ValueError("Failed to create SASL plain Interface description")
 * 
 *     interface = SASLMechanismInterfaceDescription()             # <<<<<<<<<<<<<<
 *     interface.wrap(io_desc)
 *     return interface
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription)); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/sasl.pyx":46
 * 
 *     interface = SASLMechanismInterfaceDescription()
 *     interface.wrap(io_desc)             # <<<<<<<<<<<<<<
 *     return interface
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_interface->__pyx_vtab)->wrap(__pyx_v_interface, __pyx_v_io_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/sasl.pyx":47
 *     interface = SASLMechanismInterfaceDescription()
 *     interface.wrap(io_desc)
 *     return interface             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_interface));
  __pyx_r = ((PyObject *)__pyx_v_interface);
  goto __pyx_L0;

  /* "src/sasl.pyx":39
 * 
 * 
 * cpdef saslplain_get_interface():             # <<<<<<<<<<<<<<
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* io_desc
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.saslplain_get_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_interface);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_105saslplain_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_105saslplain_get_interface(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("saslplain_get_interface (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_104saslplain_get_interface(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_104saslplain_get_interface(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("saslplain_get_interface", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_saslplain_get_interface(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.saslplain_get_interface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":50
 * 
 * 
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):             # <<<<<<<<<<<<<<
 *     if interface is None:
 *         interface = _get_sasl_mechanism_interface()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_107get_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_sasl_mechanism(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_get_sasl_mechanism *__pyx_optional_args) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)Py_None);
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_sasl_mechanism = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("get_sasl_mechanism", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_interface = __pyx_optional_args->interface;
    }
  }
  __Pyx_INCREF((PyObject *)__pyx_v_interface);

  /* "src/sasl.pyx":51
 * 
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):
 *     if interface is None:             # <<<<<<<<<<<<<<
 *         interface = _get_sasl_mechanism_interface()
 *     sasl_mechanism = SASLMechanism()
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_interface) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "src/sasl.pyx":52
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):
 *     if interface is None:
 *         interface = _get_sasl_mechanism_interface()             # <<<<<<<<<<<<<<
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create(interface)
 */
    __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp__get_sasl_mechanism_interface(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription))))) __PYX_ERR(18, 52, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_interface, ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "src/sasl.pyx":51
 * 
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):
 *     if interface is None:             # <<<<<<<<<<<<<<
 *         interface = _get_sasl_mechanism_interface()
 *     sasl_mechanism = SASLMechanism()
 */
  }

  /* "src/sasl.pyx":53
 *     if interface is None:
 *         interface = _get_sasl_mechanism_interface()
 *     sasl_mechanism = SASLMechanism()             # <<<<<<<<<<<<<<
 *     sasl_mechanism.create(interface)
 *     return sasl_mechanism
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SASLMechanism)); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_sasl_mechanism = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/sasl.pyx":54
 *         interface = _get_sasl_mechanism_interface()
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create(interface)             # <<<<<<<<<<<<<<
 *     return sasl_mechanism
 * 
 */
  __pyx_t_3 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_sasl_mechanism->__pyx_vtab)->create(__pyx_v_sasl_mechanism, __pyx_v_interface); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/sasl.pyx":55
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create(interface)
 *     return sasl_mechanism             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_sasl_mechanism));
  __pyx_r = ((PyObject *)__pyx_v_sasl_mechanism);
  goto __pyx_L0;

  /* "src/sasl.pyx":50
 * 
 * 
 * cpdef get_sasl_mechanism(SASLMechanismInterfaceDescription interface=None):             # <<<<<<<<<<<<<<
 *     if interface is None:
 *         interface = _get_sasl_mechanism_interface()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sasl_mechanism);
  __Pyx_XDECREF((PyObject *)__pyx_v_interface);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_107get_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_107get_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_sasl_mechanism (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_interface,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_interface);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_sasl_mechanism") < 0)) __PYX_ERR(18, 50, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_sasl_mechanism", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(18, 50, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.get_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_interface), __pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription, 1, "interface", 0))) __PYX_ERR(18, 50, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_106get_sasl_mechanism(__pyx_self, __pyx_v_interface);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_106get_sasl_mechanism(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_5uamqp_7c_uamqp_get_sasl_mechanism __pyx_t_2;
  __Pyx_RefNannySetupContext("get_sasl_mechanism", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.interface = __pyx_v_interface;
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_get_sasl_mechanism(0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":58
 * 
 * 
 * cpdef get_plain_sasl_mechanism(SASLMechanismInterfaceDescription interface, SASLPlainConfig parameters):             # <<<<<<<<<<<<<<
 *     _logger.debug("Creating SASL Mechanism")
 *     sasl_mechanism = SASLMechanism()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_109get_plain_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_get_plain_sasl_mechanism(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface, struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_parameters, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_sasl_mechanism = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("get_plain_sasl_mechanism", 0);

  /* "src/sasl.pyx":59
 * 
 * cpdef get_plain_sasl_mechanism(SASLMechanismInterfaceDescription interface, SASLPlainConfig parameters):
 *     _logger.debug("Creating SASL Mechanism")             # <<<<<<<<<<<<<<
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create_with_parameters(interface, &parameters._c_value)
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__225, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":60
 * cpdef get_plain_sasl_mechanism(SASLMechanismInterfaceDescription interface, SASLPlainConfig parameters):
 *     _logger.debug("Creating SASL Mechanism")
 *     sasl_mechanism = SASLMechanism()             # <<<<<<<<<<<<<<
 *     sasl_mechanism.create_with_parameters(interface, &parameters._c_value)
 *     return sasl_mechanism
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SASLMechanism)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sasl_mechanism = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/sasl.pyx":61
 *     _logger.debug("Creating SASL Mechanism")
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create_with_parameters(interface, &parameters._c_value)             # <<<<<<<<<<<<<<
 *     return sasl_mechanism
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_sasl_mechanism->__pyx_vtab)->create_with_parameters(__pyx_v_sasl_mechanism, __pyx_v_interface, (&__pyx_v_parameters->_c_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":62
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create_with_parameters(interface, &parameters._c_value)
 *     return sasl_mechanism             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_sasl_mechanism));
  __pyx_r = ((PyObject *)__pyx_v_sasl_mechanism);
  goto __pyx_L0;

  /* "src/sasl.pyx":58
 * 
 * 
 * cpdef get_plain_sasl_mechanism(SASLMechanismInterfaceDescription interface, SASLPlainConfig parameters):             # <<<<<<<<<<<<<<
 *     _logger.debug("Creating SASL Mechanism")
 *     sasl_mechanism = SASLMechanism()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_plain_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sasl_mechanism);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_109get_plain_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_109get_plain_sasl_mechanism(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_parameters = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_plain_sasl_mechanism (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_interface,&__pyx_n_s_parameters,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_interface)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parameters)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("get_plain_sasl_mechanism", 1, 2, 2, 1); __PYX_ERR(18, 58, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_plain_sasl_mechanism") < 0)) __PYX_ERR(18, 58, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)values[0]);
    __pyx_v_parameters = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_plain_sasl_mechanism", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(18, 58, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.get_plain_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_interface), __pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription, 1, "interface", 0))) __PYX_ERR(18, 58, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parameters), __pyx_ptype_5uamqp_7c_uamqp_SASLPlainConfig, 1, "parameters", 0))) __PYX_ERR(18, 58, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_108get_plain_sasl_mechanism(__pyx_self, __pyx_v_interface, __pyx_v_parameters);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_108get_plain_sasl_mechanism(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_interface, struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_parameters) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("get_plain_sasl_mechanism", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_get_plain_sasl_mechanism(__pyx_v_interface, __pyx_v_parameters, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.get_plain_sasl_mechanism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":70
 *     cdef c_sasl_mechanism.SASL_MECHANISM_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":73
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating SASLMechanism")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/sasl.pyx":74
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating SASLMechanism")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__226, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":75
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating SASLMechanism")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":73
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating SASLMechanism")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.SASLMechanism.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/sasl.pyx":77
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism__create(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/sasl.pyx":78
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/sasl.pyx":79
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 79, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 79, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/sasl.pyx":78
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/sasl.pyx":77
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":81
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying SASLMechanism")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_destroy(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 81, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 81, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/sasl.pyx":82
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying SASLMechanism")
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/sasl.pyx":83
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying SASLMechanism")             # <<<<<<<<<<<<<<
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__227, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/sasl.pyx":84
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying SASLMechanism")
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL
 * 
 */
    saslmechanism_destroy(__pyx_v_self->_c_value);

    /* "src/sasl.pyx":85
 *             _logger.debug("Destroying SASLMechanism")
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_HANDLE value):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/sasl.pyx":82
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying SASLMechanism")
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)
 */
  }

  /* "src/sasl.pyx":81
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying SASLMechanism")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_13SASLMechanism_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":87
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_wrap(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, SASL_MECHANISM_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/sasl.pyx":88
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":89
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/sasl.pyx":90
 *         self.destroy()
 *         self._c_value = value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":87
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":92
 *         self._create()
 * 
 *     cdef create(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, NULL)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_sasl_mechanism_interface_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/sasl.pyx":93
 * 
 *     cdef create(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, NULL)
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":94
 *     cdef create(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description):
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, NULL)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = saslmechanism_create(__pyx_v_sasl_mechanism_interface_description->_c_value, NULL);

  /* "src/sasl.pyx":95
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, NULL)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create_with_parameters(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description, void *parameters):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":92
 *         self._create()
 * 
 *     cdef create(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, NULL)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":97
 *         self._create()
 * 
 *     cdef create_with_parameters(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description, void *parameters):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, parameters)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create_with_parameters(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_sasl_mechanism_interface_description, void *__pyx_v_parameters) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_with_parameters", 0);

  /* "src/sasl.pyx":98
 * 
 *     cdef create_with_parameters(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description, void *parameters):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, parameters)
 *         self._create()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":99
 *     cdef create_with_parameters(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description, void *parameters):
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, parameters)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = saslmechanism_create(__pyx_v_sasl_mechanism_interface_description->_c_value, __pyx_v_parameters);

  /* "src/sasl.pyx":100
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, parameters)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/sasl.pyx":97
 *         self._create()
 * 
 *     cdef create_with_parameters(self, SASLMechanismInterfaceDescription sasl_mechanism_interface_description, void *parameters):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = c_sasl_mechanism.saslmechanism_create(sasl_mechanism_interface_description._c_value, parameters)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.create_with_parameters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__228, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_13SASLMechanism_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__229, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanism.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":107
 *     cdef c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":110
 *         pass
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* value):             # <<<<<<<<<<<<<<
 *         self._c_value = value
 * 
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_wrap(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self, SASL_MECHANISM_INTERFACE_DESCRIPTION *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/sasl.pyx":111
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* value):
 *         self._c_value = value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/sasl.pyx":110
 *         pass
 * 
 *     cdef wrap(self, c_sasl_mechanism.SASL_MECHANISM_INTERFACE_DESCRIPTION* value):             # <<<<<<<<<<<<<<
 *         self._c_value = value
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__230, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanismInterfaceDescription.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__231, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLMechanismInterfaceDescription.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":119
 *     cdef XIO _underlying_io
 * 
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):             # <<<<<<<<<<<<<<
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_underlying_io = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_sasl_mechanism = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_underlying_io,&__pyx_n_s_sasl_mechanism,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_underlying_io)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sasl_mechanism)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(18, 119, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(18, 119, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_underlying_io = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)values[0]);
    __pyx_v_sasl_mechanism = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(18, 119, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLClientIOConfig.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_underlying_io), __pyx_ptype_5uamqp_7c_uamqp_XIO, 1, "underlying_io", 0))) __PYX_ERR(18, 119, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sasl_mechanism), __pyx_ptype_5uamqp_7c_uamqp_SASLMechanism, 1, "sasl_mechanism", 0))) __PYX_ERR(18, 119, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)__pyx_v_self), __pyx_v_underlying_io, __pyx_v_sasl_mechanism);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_underlying_io, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *__pyx_v_sasl_mechanism) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  SASLCLIENTIO_CONFIG __pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/sasl.pyx":120
 * 
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):
 *         if <void*>underlying_io._c_value is NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:
 */
  __pyx_t_1 = ((((void *)__pyx_v_underlying_io->_c_value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/sasl.pyx":121
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")             # <<<<<<<<<<<<<<
 *         if <void*>sasl_mechanism._c_value is NULL:
 *             raise ValueError("SASL Mechanism must not be NULL")
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__232, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(18, 121, __pyx_L1_error)

    /* "src/sasl.pyx":120
 * 
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):
 *         if <void*>underlying_io._c_value is NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:
 */
  }

  /* "src/sasl.pyx":122
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("SASL Mechanism must not be NULL")
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_sasl_mechanism->_c_value) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/sasl.pyx":123
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:
 *             raise ValueError("SASL Mechanism must not be NULL")             # <<<<<<<<<<<<<<
 * 
 *         self._underlying_io = underlying_io
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__233, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(18, 123, __pyx_L1_error)

    /* "src/sasl.pyx":122
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("SASL Mechanism must not be NULL")
 * 
 */
  }

  /* "src/sasl.pyx":125
 *             raise ValueError("SASL Mechanism must not be NULL")
 * 
 *         self._underlying_io = underlying_io             # <<<<<<<<<<<<<<
 *         self._c_value = c_sasl_mechanism.SASLCLIENTIO_CONFIG(
 *             <c_xio.XIO_HANDLE>underlying_io._c_value,
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_underlying_io));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_underlying_io));
  __Pyx_GOTREF(__pyx_v_self->_underlying_io);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_underlying_io));
  __pyx_v_self->_underlying_io = __pyx_v_underlying_io;

  /* "src/sasl.pyx":127
 *         self._underlying_io = underlying_io
 *         self._c_value = c_sasl_mechanism.SASLCLIENTIO_CONFIG(
 *             <c_xio.XIO_HANDLE>underlying_io._c_value,             # <<<<<<<<<<<<<<
 *             <c_sasl_mechanism.SASL_MECHANISM_HANDLE>sasl_mechanism._c_value
 *         )
 */
  __pyx_t_3.underlying_io = ((XIO_HANDLE)__pyx_v_underlying_io->_c_value);

  /* "src/sasl.pyx":128
 *         self._c_value = c_sasl_mechanism.SASLCLIENTIO_CONFIG(
 *             <c_xio.XIO_HANDLE>underlying_io._c_value,
 *             <c_sasl_mechanism.SASL_MECHANISM_HANDLE>sasl_mechanism._c_value             # <<<<<<<<<<<<<<
 *         )
 * 
 */
  __pyx_t_3.sasl_mechanism = __pyx_v_sasl_mechanism->_c_value;

  /* "src/sasl.pyx":126
 * 
 *         self._underlying_io = underlying_io
 *         self._c_value = c_sasl_mechanism.SASLCLIENTIO_CONFIG(             # <<<<<<<<<<<<<<
 *             <c_xio.XIO_HANDLE>underlying_io._c_value,
 *             <c_sasl_mechanism.SASL_MECHANISM_HANDLE>sasl_mechanism._c_value
 */
  __pyx_v_self->_c_value = __pyx_t_3;

  /* "src/sasl.pyx":119
 *     cdef XIO _underlying_io
 * 
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):             # <<<<<<<<<<<<<<
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLClientIOConfig.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__234, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLClientIOConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_18SASLClientIOConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__235, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLClientIOConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":136
 *     cdef c_sasl_mechanism.SASL_PLAIN_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_sasl_mechanism.SASL_PLAIN_CONFIG(NULL, NULL, NULL)
 *         self._c_value.authcid = NULL
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  SASL_PLAIN_CONFIG __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/sasl.pyx":137
 * 
 *     def __cinit__(self):
 *         self._c_value = c_sasl_mechanism.SASL_PLAIN_CONFIG(NULL, NULL, NULL)             # <<<<<<<<<<<<<<
 *         self._c_value.authcid = NULL
 *         self._c_value.passwd = NULL
 */
  __pyx_t_1.authcid = NULL;
  __pyx_t_1.passwd = NULL;
  __pyx_t_1.authzid = NULL;
  __pyx_v_self->_c_value = __pyx_t_1;

  /* "src/sasl.pyx":138
 *     def __cinit__(self):
 *         self._c_value = c_sasl_mechanism.SASL_PLAIN_CONFIG(NULL, NULL, NULL)
 *         self._c_value.authcid = NULL             # <<<<<<<<<<<<<<
 *         self._c_value.passwd = NULL
 *         self._c_value.authzid = NULL
 */
  __pyx_v_self->_c_value.authcid = NULL;

  /* "src/sasl.pyx":139
 *         self._c_value = c_sasl_mechanism.SASL_PLAIN_CONFIG(NULL, NULL, NULL)
 *         self._c_value.authcid = NULL
 *         self._c_value.passwd = NULL             # <<<<<<<<<<<<<<
 *         self._c_value.authzid = NULL
 * 
 */
  __pyx_v_self->_c_value.passwd = NULL;

  /* "src/sasl.pyx":140
 *         self._c_value.authcid = NULL
 *         self._c_value.passwd = NULL
 *         self._c_value.authzid = NULL             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.authzid = NULL;

  /* "src/sasl.pyx":136
 *     cdef c_sasl_mechanism.SASL_PLAIN_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_sasl_mechanism.SASL_PLAIN_CONFIG(NULL, NULL, NULL)
 *         self._c_value.authcid = NULL
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":143
 * 
 *     @property
 *     def authcid(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.authcid
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid___get__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/sasl.pyx":144
 *     @property
 *     def authcid(self):
 *         return self._c_value.authcid             # <<<<<<<<<<<<<<
 * 
 *     @authcid.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.authcid); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/sasl.pyx":143
 * 
 *     @property
 *     def authcid(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.authcid
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.authcid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":147
 * 
 *     @authcid.setter
 *     def authcid(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.authcid = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(18, 147, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.authcid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/sasl.pyx":148
 *     @authcid.setter
 *     def authcid(self, const char* value):
 *         self._c_value.authcid = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.authcid = __pyx_v_value;

  /* "src/sasl.pyx":147
 * 
 *     @authcid.setter
 *     def authcid(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.authcid = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":151
 * 
 *     @property
 *     def passwd(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.passwd
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd___get__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/sasl.pyx":152
 *     @property
 *     def passwd(self):
 *         return self._c_value.passwd             # <<<<<<<<<<<<<<
 * 
 *     @passwd.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.passwd); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/sasl.pyx":151
 * 
 *     @property
 *     def passwd(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.passwd
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.passwd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":155
 * 
 *     @passwd.setter
 *     def passwd(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.passwd = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(18, 155, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.passwd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/sasl.pyx":156
 *     @passwd.setter
 *     def passwd(self, const char* value):
 *         self._c_value.passwd = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.passwd = __pyx_v_value;

  /* "src/sasl.pyx":155
 * 
 *     @passwd.setter
 *     def passwd(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.passwd = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":159
 * 
 *     @property
 *     def authzid(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.authzid
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid___get__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid___get__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/sasl.pyx":160
 *     @property
 *     def authzid(self):
 *         return self._c_value.authzid             # <<<<<<<<<<<<<<
 * 
 *     @authzid.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.authzid); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/sasl.pyx":159
 * 
 *     @property
 *     def authzid(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.authzid
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.authzid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/sasl.pyx":163
 * 
 *     @authzid.setter
 *     def authzid(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.authzid = value
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(18, 163, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.authzid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/sasl.pyx":164
 *     @authzid.setter
 *     def authzid(self, const char* value):
 *         self._c_value.authzid = value             # <<<<<<<<<<<<<<
 */
  __pyx_v_self->_c_value.authzid = __pyx_v_value;

  /* "src/sasl.pyx":163
 * 
 *     @authzid.setter
 *     def authzid(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.authzid = value
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__236, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15SASLPlainConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__237, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.SASLPlainConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":21
 * 
 * 
 * cpdef create_session(Connection connection, on_link_attached_context):             # <<<<<<<<<<<<<<
 *     session = cSession()
 *     session.create(connection, <c_session.ON_LINK_ATTACHED>on_link_attached, <void*>on_link_attached_context)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_111create_session(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_session(struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection, PyObject *__pyx_v_on_link_attached_context, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_session = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_session", 0);

  /* "src/session.pyx":22
 * 
 * cpdef create_session(Connection connection, on_link_attached_context):
 *     session = cSession()             # <<<<<<<<<<<<<<
 *     session.create(connection, <c_session.ON_LINK_ATTACHED>on_link_attached, <void*>on_link_attached_context)
 *     return session
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cSession)); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/session.pyx":23
 * cpdef create_session(Connection connection, on_link_attached_context):
 *     session = cSession()
 *     session.create(connection, <c_session.ON_LINK_ATTACHED>on_link_attached, <void*>on_link_attached_context)             # <<<<<<<<<<<<<<
 *     return session
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_session->__pyx_vtab)->create(__pyx_v_session, __pyx_v_connection, ((ON_LINK_ATTACHED)__pyx_f_5uamqp_7c_uamqp_on_link_attached), ((void *)__pyx_v_on_link_attached_context)); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":24
 *     session = cSession()
 *     session.create(connection, <c_session.ON_LINK_ATTACHED>on_link_attached, <void*>on_link_attached_context)
 *     return session             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_session));
  __pyx_r = ((PyObject *)__pyx_v_session);
  goto __pyx_L0;

  /* "src/session.pyx":21
 * 
 * 
 * cpdef create_session(Connection connection, on_link_attached_context):             # <<<<<<<<<<<<<<
 *     session = cSession()
 *     session.create(connection, <c_session.ON_LINK_ATTACHED>on_link_attached, <void*>on_link_attached_context)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_session", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_session);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_111create_session(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_111create_session(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection = 0;
  PyObject *__pyx_v_on_link_attached_context = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_session (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_connection,&__pyx_n_s_on_link_attached_context,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_connection)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_on_link_attached_context)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create_session", 1, 2, 2, 1); __PYX_ERR(19, 21, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_session") < 0)) __PYX_ERR(19, 21, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_connection = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)values[0]);
    __pyx_v_on_link_attached_context = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create_session", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 21, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.create_session", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_connection), __pyx_ptype_5uamqp_7c_uamqp_Connection, 1, "connection", 0))) __PYX_ERR(19, 21, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_110create_session(__pyx_self, __pyx_v_connection, __pyx_v_on_link_attached_context);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_110create_session(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection, PyObject *__pyx_v_on_link_attached_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_session", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_session(__pyx_v_connection, __pyx_v_on_link_attached_context, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_session", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":33
 *     cdef Connection _connection
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cSession___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":36
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cSession")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_8cSession_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_8cSession_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_8cSession_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_8cSession_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/session.pyx":37
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSession")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__238, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":38
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSession")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     def __enter__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":36
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cSession")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cSession.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/session.pyx":40
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_5__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_4__enter__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_4__enter__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__enter__", 0);

  /* "src/session.pyx":41
 * 
 *     def __enter__(self):
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __exit__(self, *args):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "src/session.pyx":40
 *         self.destroy()
 * 
 *     def __enter__(self):             # <<<<<<<<<<<<<<
 *         return self
 * 
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":43
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_7__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_6__exit__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_6__exit__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__exit__", 0);

  /* "src/session.pyx":44
 * 
 *     def __exit__(self, *args):
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":43
 *         return self
 * 
 *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":47
 * 
 *     @property
 *     def incoming_window(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/session.pyx":49
 *     def incoming_window(self):
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((session_get_incoming_window(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":50
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 50, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 50, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 50, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":49
 *     def incoming_window(self):
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/session.pyx":51
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @incoming_window.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/session.pyx":47
 * 
 *     @property
 *     def incoming_window(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_incoming_window(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.incoming_window.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":54
 * 
 *     @incoming_window.setter
 *     def incoming_window(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_incoming_window(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(19, 54, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.incoming_window.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cSession_15incoming_window_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, uint32_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/session.pyx":55
 *     @incoming_window.setter
 *     def incoming_window(self, stdint.uint32_t value):
 *         if c_session.session_set_incoming_window(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((session_set_incoming_window(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":56
 *     def incoming_window(self, stdint.uint32_t value):
 *         if c_session.session_set_incoming_window(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 56, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 56, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":55
 *     @incoming_window.setter
 *     def incoming_window(self, stdint.uint32_t value):
 *         if c_session.session_set_incoming_window(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/session.pyx":54
 * 
 *     @incoming_window.setter
 *     def incoming_window(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_incoming_window(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.incoming_window.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":59
 * 
 *     @property
 *     def outgoing_window(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  uint32_t __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/session.pyx":61
 *     def outgoing_window(self):
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((session_get_outgoing_window(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":62
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 62, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 62, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":61
 *     def outgoing_window(self):
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/session.pyx":63
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @outgoing_window.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/session.pyx":59
 * 
 *     @property
 *     def outgoing_window(self):             # <<<<<<<<<<<<<<
 *         cdef stdint.uint32_t value
 *         if c_session.session_get_outgoing_window(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.outgoing_window.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":66
 * 
 *     @outgoing_window.setter
 *     def outgoing_window(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_outgoing_window(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  uint32_t __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(19, 66, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.outgoing_window.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), ((uint32_t)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cSession_15outgoing_window_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, uint32_t __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/session.pyx":67
 *     @outgoing_window.setter
 *     def outgoing_window(self, stdint.uint32_t value):
 *         if c_session.session_set_outgoing_window(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((session_set_outgoing_window(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":68
 *     def outgoing_window(self, stdint.uint32_t value):
 *         if c_session.session_set_outgoing_window(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 68, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 68, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":67
 *     @outgoing_window.setter
 *     def outgoing_window(self, stdint.uint32_t value):
 *         if c_session.session_set_outgoing_window(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/session.pyx":66
 * 
 *     @outgoing_window.setter
 *     def outgoing_window(self, stdint.uint32_t value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_outgoing_window(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.outgoing_window.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":71
 * 
 *     @property
 *     def handle_max(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.handle value
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  handle __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/session.pyx":73
 *     def handle_max(self):
 *         cdef c_amqp_definitions.handle value
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  __pyx_t_1 = ((session_get_handle_max(__pyx_v_self->_c_value, (&__pyx_v_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":74
 *         cdef c_amqp_definitions.handle value
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 *         return value
 * 
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 74, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 74, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":73
 *     def handle_max(self):
 *         cdef c_amqp_definitions.handle value
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 *         return value
 */
  }

  /* "src/session.pyx":75
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:
 *             self._value_error()
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     @handle_max.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/session.pyx":71
 * 
 *     @property
 *     def handle_max(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.handle value
 *         if c_session.session_get_handle_max(self._c_value, &value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.handle_max.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":78
 * 
 *     @handle_max.setter
 *     def handle_max(self, c_amqp_definitions.handle value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_handle_max(self._c_value, value) != 0:
 *             self._value_error()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  handle __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((handle)-1)) && PyErr_Occurred())) __PYX_ERR(19, 78, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.handle_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), ((handle)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_8cSession_10handle_max_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, handle __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/session.pyx":79
 *     @handle_max.setter
 *     def handle_max(self, c_amqp_definitions.handle value):
 *         if c_session.session_set_handle_max(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_1 = ((session_set_handle_max(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":80
 *     def handle_max(self, c_amqp_definitions.handle value):
 *         if c_session.session_set_handle_max(self._c_value, value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 80, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 80, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":79
 *     @handle_max.setter
 *     def handle_max(self, c_amqp_definitions.handle value):
 *         if c_session.session_set_handle_max(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/session.pyx":78
 * 
 *     @handle_max.setter
 *     def handle_max(self, c_amqp_definitions.handle value):             # <<<<<<<<<<<<<<
 *         if c_session.session_set_handle_max(self._c_value, value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.handle_max.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":82
 *             self._value_error()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession__create(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/session.pyx":83
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/session.pyx":84
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 84, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 84, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/session.pyx":83
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/session.pyx":82
 *             self._value_error()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":86
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSession")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_9destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 86, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 86, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/session.pyx":87
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cSession")
 *             c_session.session_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/session.pyx":88
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSession")             # <<<<<<<<<<<<<<
 *             c_session.session_destroy(self._c_value)
 *             self._c_value = <c_session.SESSION_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__239, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/session.pyx":89
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSession")
 *             c_session.session_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_session.SESSION_HANDLE>NULL
 *             self._connection = None
 */
    session_destroy(__pyx_v_self->_c_value);

    /* "src/session.pyx":90
 *             _logger.debug("Destroying cSession")
 *             c_session.session_destroy(self._c_value)
 *             self._c_value = <c_session.SESSION_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._connection = None
 * 
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/session.pyx":91
 *             c_session.session_destroy(self._c_value)
 *             self._c_value = <c_session.SESSION_HANDLE>NULL
 *             self._connection = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, cSession value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_connection);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->_connection));
    __pyx_v_self->_connection = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)Py_None);

    /* "src/session.pyx":87
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cSession")
 *             c_session.session_destroy(self._c_value)
 */
  }

  /* "src/session.pyx":86
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSession")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_9destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_8destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_8destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cSession_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":93
 *             self._connection = None
 * 
 *     cdef wrap(self, cSession value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._connection = value._connection
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  SESSION_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/session.pyx":94
 * 
 *     cdef wrap(self, cSession value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._connection = value._connection
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":95
 *     cdef wrap(self, cSession value):
 *         self.destroy()
 *         self._connection = value._connection             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._create()
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_value->_connection);
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_connection);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_connection));
  __pyx_v_self->_connection = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/session.pyx":96
 *         self.destroy()
 *         self._connection = value._connection
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/session.pyx":97
 *         self._connection = value._connection
 *         self._c_value = value._c_value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, Connection connection, c_session.ON_LINK_ATTACHED on_link_attached, void* callback_context):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":93
 *             self._connection = None
 * 
 *     cdef wrap(self, cSession value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._connection = value._connection
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":99
 *         self._create()
 * 
 *     cdef create(self, Connection connection, c_session.ON_LINK_ATTACHED on_link_attached, void* callback_context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._connection = connection
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_create(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_Connection *__pyx_v_connection, ON_LINK_ATTACHED __pyx_v_on_link_attached, void *__pyx_v_callback_context) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/session.pyx":100
 * 
 *     cdef create(self, Connection connection, c_session.ON_LINK_ATTACHED on_link_attached, void* callback_context):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._connection = connection
 *         self._c_value = c_session.session_create(connection._c_value, on_link_attached, callback_context)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":101
 *     cdef create(self, Connection connection, c_session.ON_LINK_ATTACHED on_link_attached, void* callback_context):
 *         self.destroy()
 *         self._connection = connection             # <<<<<<<<<<<<<<
 *         self._c_value = c_session.session_create(connection._c_value, on_link_attached, callback_context)
 *         self._create()
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_connection));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_connection));
  __Pyx_GOTREF(__pyx_v_self->_connection);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_connection));
  __pyx_v_self->_connection = __pyx_v_connection;

  /* "src/session.pyx":102
 *         self.destroy()
 *         self._connection = connection
 *         self._c_value = c_session.session_create(connection._c_value, on_link_attached, callback_context)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = session_create(__pyx_v_connection->_c_value, __pyx_v_on_link_attached, __pyx_v_callback_context);

  /* "src/session.pyx":103
 *         self._connection = connection
 *         self._c_value = c_session.session_create(connection._c_value, on_link_attached, callback_context)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef begin(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":99
 *         self._create()
 * 
 *     cdef create(self, Connection connection, c_session.ON_LINK_ATTACHED on_link_attached, void* callback_context):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._connection = connection
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":105
 *         self._create()
 * 
 *     cpdef begin(self):             # <<<<<<<<<<<<<<
 *         if c_session.session_begin(self._c_value) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_11begin(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_begin(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("begin", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_begin); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_11begin)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 105, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 105, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/session.pyx":106
 * 
 *     cpdef begin(self):
 *         if c_session.session_begin(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_5 = ((session_begin(__pyx_v_self->_c_value) != 0) != 0);
  if (__pyx_t_5) {

    /* "src/session.pyx":107
 *     cpdef begin(self):
 *         if c_session.session_begin(self._c_value) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef end(self, const char* condition_value, const char* description):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_3) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 107, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 107, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/session.pyx":106
 * 
 *     cpdef begin(self):
 *         if c_session.session_begin(self._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/session.pyx":105
 *         self._create()
 * 
 *     cpdef begin(self):             # <<<<<<<<<<<<<<
 *         if c_session.session_begin(self._c_value) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.begin", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_11begin(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_11begin(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("begin (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_10begin(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_10begin(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("begin", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cSession_begin(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.begin", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":109
 *             self._value_error()
 * 
 *     cpdef end(self, const char* condition_value, const char* description):             # <<<<<<<<<<<<<<
 *         if c_session.session_end(self._c_value, condition_value, description) != 0:
 *             self._value_error()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_13end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_8cSession_end(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  __Pyx_RefNannySetupContext("end", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_13end)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_condition_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 109, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_description); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 109, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 109, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 109, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(19, 109, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__pyx_t_6) {
          __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
        __pyx_t_3 = 0;
        __pyx_t_4 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 109, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/session.pyx":110
 * 
 *     cpdef end(self, const char* condition_value, const char* description):
 *         if c_session.session_end(self._c_value, condition_value, description) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  __pyx_t_9 = ((session_end(__pyx_v_self->_c_value, __pyx_v_condition_value, __pyx_v_description) != 0) != 0);
  if (__pyx_t_9) {

    /* "src/session.pyx":111
 *     cpdef end(self, const char* condition_value, const char* description):
 *         if c_session.session_end(self._c_value, condition_value, description) != 0:
 *             self._value_error()             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 111, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else {
      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 111, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/session.pyx":110
 * 
 *     cpdef end(self, const char* condition_value, const char* description):
 *         if c_session.session_end(self._c_value, condition_value, description) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error()
 * 
 */
  }

  /* "src/session.pyx":109
 *             self._value_error()
 * 
 *     cpdef end(self, const char* condition_value, const char* description):             # <<<<<<<<<<<<<<
 *         if c_session.session_end(self._c_value, condition_value, description) != 0:
 *             self._value_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.end", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_13end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_13end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_condition_value;
  char const *__pyx_v_description;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("end (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_condition_value,&__pyx_n_s_description,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_condition_value)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_description)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("end", 1, 2, 2, 1); __PYX_ERR(19, 109, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "end") < 0)) __PYX_ERR(19, 109, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_condition_value = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_condition_value) && PyErr_Occurred())) __PYX_ERR(19, 109, __pyx_L3_error)
    __pyx_v_description = __Pyx_PyObject_AsString(values[1]); if (unlikely((!__pyx_v_description) && PyErr_Occurred())) __PYX_ERR(19, 109, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("end", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 109, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.end", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_12end(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), __pyx_v_condition_value, __pyx_v_description);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_12end(struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, char const *__pyx_v_condition_value, char const *__pyx_v_description) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("end", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_8cSession_end(__pyx_v_self, __pyx_v_condition_value, __pyx_v_description, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.end", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_14__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__240, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_8cSession_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_8cSession_16__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_8cSession_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSession *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__241, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSession.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/session.pyx":116
 * #### Callback
 * 
 * cdef bint on_link_attached(             # <<<<<<<<<<<<<<
 *         void* context, c_session.LINK_ENDPOINT_HANDLE new_link_endpoint, const char* name,
 *         c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target,
 */

static int __pyx_f_5uamqp_7c_uamqp_on_link_attached(void *__pyx_v_context, CYTHON_UNUSED LINK_ENDPOINT_HANDLE __pyx_v_new_link_endpoint, CYTHON_UNUSED char const *__pyx_v_name, CYTHON_UNUSED role __pyx_v_role, AMQP_VALUE __pyx_v_source, AMQP_VALUE __pyx_v_target, fields __pyx_v_properties) {
  SOURCE_HANDLE __pyx_v_wrapped_source;
  TARGET_HANDLE __pyx_v_wrapped_target;
  AMQP_VALUE __pyx_v_wrapped_props;
  AMQP_VALUE __pyx_v_cloned_source;
  AMQP_VALUE __pyx_v_cloned_target;
  PyObject *__pyx_v_attach_properties = NULL;
  PyObject *__pyx_v_context_obj = NULL;
  PyObject *__pyx_v_e = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  __Pyx_RefNannySetupContext("on_link_attached", 0);

  /* "src/session.pyx":127
 *     cdef c_amqpvalue.AMQP_VALUE cloned_target
 *     cdef stdint.uint32_t _value
 *     attach_properties = None             # <<<<<<<<<<<<<<
 * 
 *     context_obj = <object>context
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_attach_properties = Py_None;

  /* "src/session.pyx":129
 *     attach_properties = None
 * 
 *     context_obj = <object>context             # <<<<<<<<<<<<<<
 *     if <void*>context_obj == NULL:
 *         return True
 */
  __pyx_t_1 = ((PyObject *)__pyx_v_context);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_context_obj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/session.pyx":130
 * 
 *     context_obj = <object>context
 *     if <void*>context_obj == NULL:             # <<<<<<<<<<<<<<
 *         return True
 *     if <void*>properties != NULL:
 */
  __pyx_t_2 = ((((void *)__pyx_v_context_obj) == NULL) != 0);
  if (__pyx_t_2) {

    /* "src/session.pyx":131
 *     context_obj = <object>context
 *     if <void*>context_obj == NULL:
 *         return True             # <<<<<<<<<<<<<<
 *     if <void*>properties != NULL:
 *         wrapped_props = c_amqpvalue.amqpvalue_clone(properties)
 */
    __pyx_r = 1;
    goto __pyx_L0;

    /* "src/session.pyx":130
 * 
 *     context_obj = <object>context
 *     if <void*>context_obj == NULL:             # <<<<<<<<<<<<<<
 *         return True
 *     if <void*>properties != NULL:
 */
  }

  /* "src/session.pyx":132
 *     if <void*>context_obj == NULL:
 *         return True
 *     if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *         wrapped_props = c_amqpvalue.amqpvalue_clone(properties)
 *         attach_properties = value_factory(wrapped_props)
 */
  __pyx_t_2 = ((((void *)__pyx_v_properties) != NULL) != 0);
  if (__pyx_t_2) {

    /* "src/session.pyx":133
 *         return True
 *     if <void*>properties != NULL:
 *         wrapped_props = c_amqpvalue.amqpvalue_clone(properties)             # <<<<<<<<<<<<<<
 *         attach_properties = value_factory(wrapped_props)
 * 
 */
    __pyx_v_wrapped_props = amqpvalue_clone(__pyx_v_properties);

    /* "src/session.pyx":134
 *     if <void*>properties != NULL:
 *         wrapped_props = c_amqpvalue.amqpvalue_clone(properties)
 *         attach_properties = value_factory(wrapped_props)             # <<<<<<<<<<<<<<
 * 
 *     if <void*>source == NULL or <void*>target == NULL:
 */
    __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v_wrapped_props); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_attach_properties, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/session.pyx":132
 *     if <void*>context_obj == NULL:
 *         return True
 *     if <void*>properties != NULL:             # <<<<<<<<<<<<<<
 *         wrapped_props = c_amqpvalue.amqpvalue_clone(properties)
 *         attach_properties = value_factory(wrapped_props)
 */
  }

  /* "src/session.pyx":136
 *         attach_properties = value_factory(wrapped_props)
 * 
 *     if <void*>source == NULL or <void*>target == NULL:             # <<<<<<<<<<<<<<
 *         _logger.info("Link ATTACH frame missing source and/or target. DETACH pending.")
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 */
  __pyx_t_3 = ((((void *)__pyx_v_source) == NULL) != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_3 = ((((void *)__pyx_v_target) == NULL) != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L6_bool_binop_done:;
  if (__pyx_t_2) {

    /* "src/session.pyx":137
 * 
 *     if <void*>source == NULL or <void*>target == NULL:
 *         _logger.info("Link ATTACH frame missing source and/or target. DETACH pending.")             # <<<<<<<<<<<<<<
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 *     else:
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__242, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/session.pyx":138
 *     if <void*>source == NULL or <void*>target == NULL:
 *         _logger.info("Link ATTACH frame missing source and/or target. DETACH pending.")
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")             # <<<<<<<<<<<<<<
 *     else:
 *         try:
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_attach_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[5] = {__pyx_t_5, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_ATTACH_frame_Source_and_or_Targe};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 138, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[5] = {__pyx_t_5, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_ATTACH_frame_Source_and_or_Targe};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 138, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 138, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_5) {
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
      }
      __Pyx_INCREF(Py_None);
      __Pyx_GIVEREF(Py_None);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, Py_None);
      __Pyx_INCREF(Py_None);
      __Pyx_GIVEREF(Py_None);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, Py_None);
      __Pyx_INCREF(__pyx_v_attach_properties);
      __Pyx_GIVEREF(__pyx_v_attach_properties);
      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_attach_properties);
      __Pyx_INCREF(__pyx_kp_s_ATTACH_frame_Source_and_or_Targe);
      __Pyx_GIVEREF(__pyx_kp_s_ATTACH_frame_Source_and_or_Targe);
      PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_kp_s_ATTACH_frame_Source_and_or_Targe);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 138, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/session.pyx":136
 *         attach_properties = value_factory(wrapped_props)
 * 
 *     if <void*>source == NULL or <void*>target == NULL:             # <<<<<<<<<<<<<<
 *         _logger.info("Link ATTACH frame missing source and/or target. DETACH pending.")
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 */
    goto __pyx_L5;
  }

  /* "src/session.pyx":140
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 *     else:
 *         try:             # <<<<<<<<<<<<<<
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 */
  /*else*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      /*try:*/ {

        /* "src/session.pyx":141
 *     else:
 *         try:
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)             # <<<<<<<<<<<<<<
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:
 */
        __pyx_v_cloned_source = amqpvalue_clone(__pyx_v_source);

        /* "src/session.pyx":142
 *         try:
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)             # <<<<<<<<<<<<<<
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 */
        __pyx_v_cloned_target = amqpvalue_clone(__pyx_v_target);

        /* "src/session.pyx":143
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:             # <<<<<<<<<<<<<<
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:
 */
        __pyx_t_2 = ((amqpvalue_get_source(__pyx_v_cloned_source, (&__pyx_v_wrapped_source)) != 0) != 0);
        if (__pyx_t_2) {

          /* "src/session.pyx":144
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")             # <<<<<<<<<<<<<<
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame target")
 */
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_attach_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 144, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_7 = NULL;
          __pyx_t_6 = 0;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_7)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_7);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_6 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_7, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_Unable_to_decode_ATTACH_frame_so};
            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 144, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_GOTREF(__pyx_t_1);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_7, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_Unable_to_decode_ATTACH_frame_so};
            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 144, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_GOTREF(__pyx_t_1);
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 144, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_7) {
              __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
            }
            __Pyx_INCREF(Py_None);
            __Pyx_GIVEREF(Py_None);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, Py_None);
            __Pyx_INCREF(Py_None);
            __Pyx_GIVEREF(Py_None);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, Py_None);
            __Pyx_INCREF(__pyx_v_attach_properties);
            __Pyx_GIVEREF(__pyx_v_attach_properties);
            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_attach_properties);
            __Pyx_INCREF(__pyx_kp_s_Unable_to_decode_ATTACH_frame_so);
            __Pyx_GIVEREF(__pyx_kp_s_Unable_to_decode_ATTACH_frame_so);
            PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_kp_s_Unable_to_decode_ATTACH_frame_so);
            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 144, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/session.pyx":143
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:             # <<<<<<<<<<<<<<
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:
 */
          goto __pyx_L14;
        }

        /* "src/session.pyx":145
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:             # <<<<<<<<<<<<<<
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame target")
 *             else:
 */
        __pyx_t_2 = ((amqpvalue_get_target(__pyx_v_cloned_target, (&__pyx_v_wrapped_target)) != 0) != 0);
        if (__pyx_t_2) {

          /* "src/session.pyx":146
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame target")             # <<<<<<<<<<<<<<
 *             else:
 *                 context_obj._attach_received(source_factory(wrapped_source), target_factory(wrapped_target), attach_properties, None)
 */
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_attach_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 146, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = NULL;
          __pyx_t_6 = 0;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_6 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_5, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_Unable_to_decode_ATTACH_frame_ta};
            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 146, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_1);
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_5, Py_None, Py_None, __pyx_v_attach_properties, __pyx_kp_s_Unable_to_decode_ATTACH_frame_ta};
            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 146, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_1);
          } else
          #endif
          {
            __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 146, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(Py_None);
            __Pyx_GIVEREF(Py_None);
            PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, Py_None);
            __Pyx_INCREF(Py_None);
            __Pyx_GIVEREF(Py_None);
            PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, Py_None);
            __Pyx_INCREF(__pyx_v_attach_properties);
            __Pyx_GIVEREF(__pyx_v_attach_properties);
            PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_attach_properties);
            __Pyx_INCREF(__pyx_kp_s_Unable_to_decode_ATTACH_frame_ta);
            __Pyx_GIVEREF(__pyx_kp_s_Unable_to_decode_ATTACH_frame_ta);
            PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_kp_s_Unable_to_decode_ATTACH_frame_ta);
            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 146, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

          /* "src/session.pyx":145
 *             if c_amqp_definitions.amqpvalue_get_source(cloned_source, &wrapped_source) != 0:
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame source")
 *             elif c_amqp_definitions.amqpvalue_get_target(cloned_target, &wrapped_target) != 0:             # <<<<<<<<<<<<<<
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame target")
 *             else:
 */
          goto __pyx_L14;
        }

        /* "src/session.pyx":148
 *                 context_obj._attach_received(None, None, attach_properties, "Unable to decode ATTACH frame target")
 *             else:
 *                 context_obj._attach_received(source_factory(wrapped_source), target_factory(wrapped_target), attach_properties, None)             # <<<<<<<<<<<<<<
 *         except Exception as e:
 *             _logger.info("Failed to process link ATTACH frame: %r", e)
 */
        /*else*/ {
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_context_obj, __pyx_n_s_attach_received); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 148, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_7 = __pyx_f_5uamqp_7c_uamqp_source_factory(__pyx_v_wrapped_source); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 148, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_5 = __pyx_f_5uamqp_7c_uamqp_target_factory(__pyx_v_wrapped_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 148, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_11 = NULL;
          __pyx_t_6 = 0;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_11)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_11);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_6 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_t_7, __pyx_t_5, __pyx_v_attach_properties, Py_None};
            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 148, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_t_7, __pyx_t_5, __pyx_v_attach_properties, Py_None};
            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 148, __pyx_L8_error)
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_12 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(19, 148, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_12);
            if (__pyx_t_11) {
              __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL;
            }
            __Pyx_GIVEREF(__pyx_t_7);
            PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_6, __pyx_t_7);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_6, __pyx_t_5);
            __Pyx_INCREF(__pyx_v_attach_properties);
            __Pyx_GIVEREF(__pyx_v_attach_properties);
            PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_6, __pyx_v_attach_properties);
            __Pyx_INCREF(Py_None);
            __Pyx_GIVEREF(Py_None);
            PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_6, Py_None);
            __pyx_t_7 = 0;
            __pyx_t_5 = 0;
            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 148, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        }
        __pyx_L14:;

        /* "src/session.pyx":140
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 *     else:
 *         try:             # <<<<<<<<<<<<<<
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 */
      }
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L13_try_end;
      __pyx_L8_error:;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/session.pyx":149
 *             else:
 *                 context_obj._attach_received(source_factory(wrapped_source), target_factory(wrapped_target), attach_properties, None)
 *         except Exception as e:             # <<<<<<<<<<<<<<
 *             _logger.info("Failed to process link ATTACH frame: %r", e)
 *     return True
 */
      __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
      if (__pyx_t_6) {
        __Pyx_AddTraceback("uamqp.c_uamqp.on_link_attached", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_12) < 0) __PYX_ERR(19, 149, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_t_4);
        __pyx_v_e = __pyx_t_4;

        /* "src/session.pyx":150
 *                 context_obj._attach_received(source_factory(wrapped_source), target_factory(wrapped_target), attach_properties, None)
 *         except Exception as e:
 *             _logger.info("Failed to process link ATTACH frame: %r", e)             # <<<<<<<<<<<<<<
 *     return True
 */
        __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 150, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_info); if (unlikely(!__pyx_t_11)) __PYX_ERR(19, 150, __pyx_L10_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = NULL;
        __pyx_t_6 = 0;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
          if (likely(__pyx_t_7)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_7);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_11, function);
            __pyx_t_6 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_11)) {
          PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_kp_s_Failed_to_process_link_ATTACH_fr, __pyx_v_e};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 150, __pyx_L10_except_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
          PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_kp_s_Failed_to_process_link_ATTACH_fr, __pyx_v_e};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 150, __pyx_L10_except_error)
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(19, 150, __pyx_L10_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__pyx_t_7) {
            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __pyx_t_7 = NULL;
          }
          __Pyx_INCREF(__pyx_kp_s_Failed_to_process_link_ATTACH_fr);
          __Pyx_GIVEREF(__pyx_kp_s_Failed_to_process_link_ATTACH_fr);
          PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_6, __pyx_kp_s_Failed_to_process_link_ATTACH_fr);
          __Pyx_INCREF(__pyx_v_e);
          __Pyx_GIVEREF(__pyx_v_e);
          PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_6, __pyx_v_e);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 150, __pyx_L10_except_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L9_exception_handled;
      }
      goto __pyx_L10_except_error;
      __pyx_L10_except_error:;

      /* "src/session.pyx":140
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 *     else:
 *         try:             # <<<<<<<<<<<<<<
 *             cloned_source = c_amqpvalue.amqpvalue_clone(source)
 *             cloned_target = c_amqpvalue.amqpvalue_clone(target)
 */
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      goto __pyx_L1_error;
      __pyx_L9_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_L13_try_end:;
    }
  }
  __pyx_L5:;

  /* "src/session.pyx":151
 *         except Exception as e:
 *             _logger.info("Failed to process link ATTACH frame: %r", e)
 *     return True             # <<<<<<<<<<<<<<
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "src/session.pyx":116
 * #### Callback
 * 
 * cdef bint on_link_attached(             # <<<<<<<<<<<<<<
 *         void* context, c_session.LINK_ENDPOINT_HANDLE new_link_endpoint, const char* name,
 *         c_amqp_definitions.role role, c_amqpvalue.AMQP_VALUE source, c_amqpvalue.AMQP_VALUE target,
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.on_link_attached", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_attach_properties);
  __Pyx_XDECREF(__pyx_v_context_obj);
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":19
 * 
 * 
 * cpdef create_source():             # <<<<<<<<<<<<<<
 *     source = cSource()
 *     return source
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_113create_source(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_source(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_source = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_source", 0);

  /* "src/source.pyx":20
 * 
 * cpdef create_source():
 *     source = cSource()             # <<<<<<<<<<<<<<
 *     return source
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cSource)); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_source = ((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/source.pyx":21
 * cpdef create_source():
 *     source = cSource()
 *     return source             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_source));
  __pyx_r = ((PyObject *)__pyx_v_source);
  goto __pyx_L0;

  /* "src/source.pyx":19
 * 
 * 
 * cpdef create_source():             # <<<<<<<<<<<<<<
 *     source = cSource()
 *     return source
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_source", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_source);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_113create_source(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_113create_source(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_source (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_112create_source(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_112create_source(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_source", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_source(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_source", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":24
 * 
 * 
 * cdef source_factory(c_amqp_definitions.SOURCE_HANDLE c_source):             # <<<<<<<<<<<<<<
 *     source = cSource()
 *     source.wrap(c_source)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_source_factory(SOURCE_HANDLE __pyx_v_c_source) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_source = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("source_factory", 0);

  /* "src/source.pyx":25
 * 
 * cdef source_factory(c_amqp_definitions.SOURCE_HANDLE c_source):
 *     source = cSource()             # <<<<<<<<<<<<<<
 *     source.wrap(c_source)
 *     return source
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cSource)); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_source = ((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/source.pyx":26
 * cdef source_factory(c_amqp_definitions.SOURCE_HANDLE c_source):
 *     source = cSource()
 *     source.wrap(c_source)             # <<<<<<<<<<<<<<
 *     return source
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *)__pyx_v_source->__pyx_vtab)->wrap(__pyx_v_source, __pyx_v_c_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":27
 *     source = cSource()
 *     source.wrap(c_source)
 *     return source             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_source));
  __pyx_r = ((PyObject *)__pyx_v_source);
  goto __pyx_L0;

  /* "src/source.pyx":24
 * 
 * 
 * cdef source_factory(c_amqp_definitions.SOURCE_HANDLE c_source):             # <<<<<<<<<<<<<<
 *     source = cSource()
 *     source.wrap(c_source)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.source_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_source);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":34
 *     cdef c_amqp_definitions.SOURCE_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.source_create()
 *         self._validate()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/source.pyx":35
 * 
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.source_create()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = source_create();

  /* "src/source.pyx":36
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.source_create()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":34
 *     cdef c_amqp_definitions.SOURCE_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.source_create()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":38
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cSource")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_7cSource_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_7cSource_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_7cSource_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_7cSource_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/source.pyx":39
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSource")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__243, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":40
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSource")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":38
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cSource")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cSource.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/source.pyx":42
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource__validate(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/source.pyx":43
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":44
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 44, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 44, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/source.pyx":43
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/source.pyx":42
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":46
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSource")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 46, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cSource_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 46, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 46, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/source.pyx":47
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cSource")
 *             c_amqp_definitions.source_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/source.pyx":48
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSource")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.source_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__244, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/source.pyx":49
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSource")
 *             c_amqp_definitions.source_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL
 * 
 */
    source_destroy(__pyx_v_self->_c_value);

    /* "src/source.pyx":50
 *             _logger.debug("Destroying cSource")
 *             c_amqp_definitions.source_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.SOURCE_HANDLE value):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/source.pyx":47
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cSource")
 *             c_amqp_definitions.source_destroy(self._c_value)
 */
  }

  /* "src/source.pyx":46
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSource")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cSource_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":52
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.SOURCE_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cSource_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, SOURCE_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/source.pyx":53
 * 
 *     cdef wrap(self, c_amqp_definitions.SOURCE_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":54
 *     cdef wrap(self, c_amqp_definitions.SOURCE_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/source.pyx":55
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":52
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.SOURCE_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":58
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":60
 *     def value(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create source.")
 */
  __pyx_v__value = amqpvalue_create_source(__pyx_v_self->_c_value);

  /* "src/source.pyx":61
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to create source.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":62
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create source.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_null_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__245, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":61
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to create source.")
 *         return value_factory(_value)
 */
  }

  /* "src/source.pyx":63
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create source.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":58
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":66
 * 
 *     @property
 *     def address(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7address_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7address___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7address___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":68
 *     def address(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source address")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_address(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":69
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source address")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__246, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":68
 *     def address(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source address")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":70
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source address")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value).value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":71
 *             self._value_error("Failed to get source address")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return value_factory(_value).value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":70
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source address")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value).value
 */
  }

  /* "src/source.pyx":72
 *         if <void*>_value == NULL:
 *             return None
 *         return value_factory(_value).value             # <<<<<<<<<<<<<<
 * 
 *     @address.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":66
 * 
 *     @property
 *     def address(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.address.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":75
 * 
 *     @address.setter
 *     def address(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set source address")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(20, 75, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7address_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7address_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":76
 *     @address.setter
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source address")
 * 
 */
  __pyx_t_1 = ((source_set_address(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":77
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set source address")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__247, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":76
 *     @address.setter
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source address")
 * 
 */
  }

  /* "src/source.pyx":75
 * 
 *     @address.setter
 *     def address(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set source address")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":80
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7durable___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  terminus_durability __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":82
 *     def durable(self):
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source durable")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_durable(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":83
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source durable")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__248, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":82
 *     def durable(self):
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source durable")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":84
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source durable")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":85
 *             self._value_error("Failed to get source durable")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":84
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source durable")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/source.pyx":86
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @durable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":80
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.durable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":89
 * 
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set source durable")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  terminus_durability __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((terminus_durability)-1)) && PyErr_Occurred())) __PYX_ERR(20, 89, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7durable_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((terminus_durability)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, terminus_durability __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":90
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source durable")
 * 
 */
  __pyx_t_1 = ((source_set_durable(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":91
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set source durable")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__249, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":90
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source durable")
 * 
 */
  }

  /* "src/source.pyx":89
 * 
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set source durable")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":94
 * 
 *     @property
 *     def expiry_policy(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  terminus_expiry_policy __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":96
 *     def expiry_policy(self):
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source expiry_policy")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_expiry_policy(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":97
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source expiry_policy")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__250, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":96
 *     def expiry_policy(self):
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source expiry_policy")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":98
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source expiry_policy")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":99
 *             self._value_error("Failed to get source expiry_policy")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":98
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source expiry_policy")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/source.pyx":100
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @expiry_policy.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":94
 * 
 *     @property
 *     def expiry_policy(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.expiry_policy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":103
 * 
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set source expiry_policy")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  terminus_expiry_policy __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((__pyx_v_value == ((terminus_expiry_policy)NULL)) && PyErr_Occurred())) __PYX_ERR(20, 103, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.expiry_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((terminus_expiry_policy)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_13expiry_policy_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, terminus_expiry_policy __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":104
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source expiry_policy")
 * 
 */
  __pyx_t_1 = ((source_set_expiry_policy(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":105
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set source expiry_policy")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__251, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":104
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source expiry_policy")
 * 
 */
  }

  /* "src/source.pyx":103
 * 
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set source expiry_policy")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.expiry_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":108
 * 
 *     @property
 *     def timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  seconds __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":110
 *     def timeout(self):
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source timeout")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_timeout(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":111
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source timeout")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__252, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":110
 *     def timeout(self):
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source timeout")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":112
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source timeout")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":113
 *             self._value_error("Failed to get source timeout")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":112
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source timeout")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/source.pyx":114
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @timeout.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":108
 * 
 *     @property
 *     def timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.timeout.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":117
 * 
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set source timeout")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  seconds __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((seconds)-1)) && PyErr_Occurred())) __PYX_ERR(20, 117, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((seconds)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, seconds __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":118
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source timeout")
 * 
 */
  __pyx_t_1 = ((source_set_timeout(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":119
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set source timeout")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__253, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":118
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source timeout")
 * 
 */
  }

  /* "src/source.pyx":117
 * 
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set source timeout")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":122
 * 
 *     @property
 *     def dynamic(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  int __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":124
 *     def dynamic(self):
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source dynamic")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_dynamic(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":125
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__254, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":124
 *     def dynamic(self):
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source dynamic")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":126
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":127
 *             self._value_error("Failed to get source dynamic")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":126
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/source.pyx":128
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @dynamic.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":122
 * 
 *     @property
 *     def dynamic(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.dynamic.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":131
 * 
 *     @dynamic.setter
 *     def dynamic(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set source dynamic")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(20, 131, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.dynamic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_7dynamic_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, int __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":132
 *     @dynamic.setter
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source dynamic")
 * 
 */
  __pyx_t_1 = ((source_set_dynamic(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":133
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set source dynamic")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__255, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":132
 *     @dynamic.setter
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source dynamic")
 * 
 */
  }

  /* "src/source.pyx":131
 * 
 *     @dynamic.setter
 *     def dynamic(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set source dynamic")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.dynamic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":136
 * 
 *     @property
 *     def dynamic_node_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  node_properties __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":138
 *     def dynamic_node_properties(self):
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source dynamic_node_properties")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_dynamic_node_properties(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":139
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic_node_properties")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__256, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":138
 *     def dynamic_node_properties(self):
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source dynamic_node_properties")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":140
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic_node_properties")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return annotations_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":141
 *             self._value_error("Failed to get source dynamic_node_properties")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return annotations_factory(_value)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":140
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic_node_properties")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return annotations_factory(_value)
 */
  }

  /* "src/source.pyx":142
 *         if <void*>_value == NULL:
 *             return None
 *         return annotations_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @dynamic_node_properties.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_annotations_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":136
 * 
 *     @property
 *     def dynamic_node_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.dynamic_node_properties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":145
 * 
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set source dynamic_node_properties")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cFields, 1, "value", 0))) __PYX_ERR(20, 145, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":146
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source dynamic_node_properties")
 * 
 */
  __pyx_t_1 = ((source_set_dynamic_node_properties(__pyx_v_self->_c_value, ((node_properties)__pyx_v_value->__pyx_base._c_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":147
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set source dynamic_node_properties")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__257, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":146
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source dynamic_node_properties")
 * 
 */
  }

  /* "src/source.pyx":145
 * 
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set source dynamic_node_properties")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.dynamic_node_properties.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":150
 * 
 *     @property
 *     def distribution_mode(self):             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  char const *__pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":152
 *     def distribution_mode(self):
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source distribution_mode")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_distribution_mode(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":153
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source distribution_mode")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__258, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":152
 *     def distribution_mode(self):
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source distribution_mode")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":154
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source distribution_mode")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":155
 *             self._value_error("Failed to get source distribution_mode")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":154
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source distribution_mode")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/source.pyx":156
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @distribution_mode.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":150
 * 
 *     @property
 *     def distribution_mode(self):             # <<<<<<<<<<<<<<
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.distribution_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":159
 * 
 *     @distribution_mode.setter
 *     def distribution_mode(self, const char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:
 *             self._value_error("Failed to set source distribution_mode")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(20, 159, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.distribution_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_17distribution_mode_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":160
 *     @distribution_mode.setter
 *     def distribution_mode(self, const char* value):
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source distribution_mode")
 * 
 */
  __pyx_t_1 = ((source_set_distribution_mode(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":161
 *     def distribution_mode(self, const char* value):
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:
 *             self._value_error("Failed to set source distribution_mode")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__259, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":160
 *     @distribution_mode.setter
 *     def distribution_mode(self, const char* value):
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source distribution_mode")
 * 
 */
  }

  /* "src/source.pyx":159
 * 
 *     @distribution_mode.setter
 *     def distribution_mode(self, const char* value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:
 *             self._value_error("Failed to set source distribution_mode")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.distribution_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":164
 * 
 *     @property
 *     def filter_set(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set___get__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  filter_set __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/source.pyx":166
 *     def filter_set(self):
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source filter_set")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((source_get_filter(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":167
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source filter_set")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__260, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":166
 *     def filter_set(self):
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get source filter_set")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/source.pyx":168
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source filter_set")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":169
 *             self._value_error("Failed to get source filter_set")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/source.pyx":168
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source filter_set")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value)
 */
  }

  /* "src/source.pyx":170
 *         if <void*>_value == NULL:
 *             return None
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @filter_set.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/source.pyx":164
 * 
 *     @property
 *     def filter_set(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.filter_set.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/source.pyx":173
 * 
 *     @filter_set.setter
 *     def filter_set(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:
 *             self._value_error("Failed to set source filter_set")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(20, 173, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cSource_10filter_set_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/source.pyx":174
 *     @filter_set.setter
 *     def filter_set(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source filter_set")
 */
  __pyx_t_1 = ((source_set_filter(__pyx_v_self->_c_value, ((filter_set)__pyx_v_value->_c_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/source.pyx":175
 *     def filter_set(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:
 *             self._value_error("Failed to set source filter_set")             # <<<<<<<<<<<<<<
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__261, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/source.pyx":174
 *     @filter_set.setter
 *     def filter_set(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set source filter_set")
 */
  }

  /* "src/source.pyx":173
 * 
 *     @filter_set.setter
 *     def filter_set(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:
 *             self._value_error("Failed to set source filter_set")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.filter_set.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__262, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cSource_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cSource_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cSource_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cSource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__263, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cSource.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":19
 * 
 * 
 * cpdef create_target():             # <<<<<<<<<<<<<<
 *     target = cTarget()
 *     return target
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_115create_target(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_create_target(CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_target = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_target", 0);

  /* "src/target.pyx":20
 * 
 * cpdef create_target():
 *     target = cTarget()             # <<<<<<<<<<<<<<
 *     return target
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cTarget)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_target = ((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/target.pyx":21
 * cpdef create_target():
 *     target = cTarget()
 *     return target             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_target));
  __pyx_r = ((PyObject *)__pyx_v_target);
  goto __pyx_L0;

  /* "src/target.pyx":19
 * 
 * 
 * cpdef create_target():             # <<<<<<<<<<<<<<
 *     target = cTarget()
 *     return target
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_target);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_115create_target(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_115create_target(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create_target (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_114create_target(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_114create_target(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create_target", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_create_target(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.create_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":24
 * 
 * 
 * cdef target_factory(c_amqp_definitions.TARGET_HANDLE c_target):             # <<<<<<<<<<<<<<
 *     target = cTarget()
 *     target.wrap(c_target)
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_target_factory(TARGET_HANDLE __pyx_v_c_target) {
  struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_target = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("target_factory", 0);

  /* "src/target.pyx":25
 * 
 * cdef target_factory(c_amqp_definitions.TARGET_HANDLE c_target):
 *     target = cTarget()             # <<<<<<<<<<<<<<
 *     target.wrap(c_target)
 *     return target
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cTarget)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_target = ((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/target.pyx":26
 * cdef target_factory(c_amqp_definitions.TARGET_HANDLE c_target):
 *     target = cTarget()
 *     target.wrap(c_target)             # <<<<<<<<<<<<<<
 *     return target
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *)__pyx_v_target->__pyx_vtab)->wrap(__pyx_v_target, __pyx_v_c_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":27
 *     target = cTarget()
 *     target.wrap(c_target)
 *     return target             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_target));
  __pyx_r = ((PyObject *)__pyx_v_target);
  goto __pyx_L0;

  /* "src/target.pyx":24
 * 
 * 
 * cdef target_factory(c_amqp_definitions.TARGET_HANDLE c_target):             # <<<<<<<<<<<<<<
 *     target = cTarget()
 *     target.wrap(c_target)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.target_factory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_target);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":34
 *     cdef c_amqp_definitions.TARGET_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.target_create()
 *         self._validate()
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/target.pyx":35
 * 
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.target_create()             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = target_create();

  /* "src/target.pyx":36
 *     def __cinit__(self):
 *         self._c_value = c_amqp_definitions.target_create()
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":34
 *     cdef c_amqp_definitions.TARGET_HANDLE _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_amqp_definitions.target_create()
 *         self._validate()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":38
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cTarget")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_7cTarget_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_7cTarget_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_7cTarget_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_7cTarget_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/target.pyx":39
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cTarget")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__264, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":40
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cTarget")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _validate(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":38
 *         self._validate()
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating cTarget")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.cTarget.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/target.pyx":42
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget__validate(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_validate", 0);

  /* "src/target.pyx":43
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":44
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 44, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 44, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/target.pyx":43
 * 
 *     cdef _validate(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/target.pyx":42
 *         self.destroy()
 * 
 *     cdef _validate(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget._validate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":46
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cTarget")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget_destroy(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 46, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cTarget_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 46, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 46, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/target.pyx":47
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cTarget")
 *             c_amqp_definitions.target_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/target.pyx":48
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cTarget")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.target_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__265, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/target.pyx":49
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cTarget")
 *             c_amqp_definitions.target_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL
 * 
 */
    target_destroy(__pyx_v_self->_c_value);

    /* "src/target.pyx":50
 *             _logger.debug("Destroying cTarget")
 *             c_amqp_definitions.target_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, c_amqp_definitions.TARGET_HANDLE value):
 */
    __pyx_v_self->_c_value = NULL;

    /* "src/target.pyx":47
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying cTarget")
 *             c_amqp_definitions.target_destroy(self._c_value)
 */
  }

  /* "src/target.pyx":46
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cTarget")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_7cTarget_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":52
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.TARGET_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_7cTarget_wrap(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, TARGET_HANDLE __pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/target.pyx":53
 * 
 *     cdef wrap(self, c_amqp_definitions.TARGET_HANDLE value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._c_value = value
 *         self._validate()
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":54
 *     cdef wrap(self, c_amqp_definitions.TARGET_HANDLE value):
 *         self.destroy()
 *         self._c_value = value             # <<<<<<<<<<<<<<
 *         self._validate()
 * 
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/target.pyx":55
 *         self.destroy()
 *         self._c_value = value
 *         self._validate()             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget *)__pyx_v_self->__pyx_vtab)->_validate(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/target.pyx":52
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL
 * 
 *     cdef wrap(self, c_amqp_definitions.TARGET_HANDLE value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":58
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_5value___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_5value___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":60
 *     def value(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create target.")
 */
  __pyx_v__value = amqpvalue_create_target(__pyx_v_self->_c_value);

  /* "src/target.pyx":61
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to create target.")
 *         return value_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":62
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create target.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_null_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__266, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":61
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             self._null_error("Failed to create target.")
 *         return value_factory(_value)
 */
  }

  /* "src/target.pyx":63
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create target.")
 *         return value_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":58
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":66
 * 
 *     @property
 *     def address(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7address___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7address___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  AMQP_VALUE __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":68
 *     def address(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target address")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_address(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":69
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target address")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__267, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":68
 *     def address(self):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target address")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":70
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target address")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value).value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":71
 *             self._value_error("Failed to get target address")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return value_factory(_value).value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":70
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target address")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return value_factory(_value).value
 */
  }

  /* "src/target.pyx":72
 *         if <void*>_value == NULL:
 *             return None
 *         return value_factory(_value).value             # <<<<<<<<<<<<<<
 * 
 *     @address.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_value_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":66
 * 
 *     @property
 *     def address(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.address.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":75
 * 
 *     @address.setter
 *     def address(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set target address")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_AMQPValue, 1, "value", 0))) __PYX_ERR(21, 75, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7address_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7address_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":76
 *     @address.setter
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target address")
 * 
 */
  __pyx_t_1 = ((target_set_address(__pyx_v_self->_c_value, __pyx_v_value->_c_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":77
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set target address")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__268, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":76
 *     @address.setter
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target address")
 * 
 */
  }

  /* "src/target.pyx":75
 * 
 *     @address.setter
 *     def address(self, AMQPValue value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set target address")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":80
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  terminus_durability __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":82
 *     def durable(self):
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target durable")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_durable(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":83
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target durable")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__269, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":82
 *     def durable(self):
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target durable")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":84
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target durable")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":85
 *             self._value_error("Failed to get target durable")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":84
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target durable")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/target.pyx":86
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @durable.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":80
 * 
 *     @property
 *     def durable(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.durable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":89
 * 
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set target durable")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  terminus_durability __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((terminus_durability)-1)) && PyErr_Occurred())) __PYX_ERR(21, 89, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((terminus_durability)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7durable_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, terminus_durability __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":90
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target durable")
 * 
 */
  __pyx_t_1 = ((target_set_durable(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":91
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set target durable")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__270, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":90
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target durable")
 * 
 */
  }

  /* "src/target.pyx":89
 * 
 *     @durable.setter
 *     def durable(self, c_amqp_definitions.terminus_durability value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set target durable")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.durable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":94
 * 
 *     @property
 *     def expiry_policy(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  terminus_expiry_policy __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":96
 *     def expiry_policy(self):
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target expiry_policy")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_expiry_policy(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":97
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target expiry_policy")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__271, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 97, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":96
 *     def expiry_policy(self):
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target expiry_policy")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":98
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target expiry_policy")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":99
 *             self._value_error("Failed to get target expiry_policy")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":98
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target expiry_policy")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/target.pyx":100
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @expiry_policy.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":94
 * 
 *     @property
 *     def expiry_policy(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.expiry_policy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":103
 * 
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set target expiry_policy")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  terminus_expiry_policy __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((__pyx_v_value == ((terminus_expiry_policy)NULL)) && PyErr_Occurred())) __PYX_ERR(21, 103, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.expiry_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((terminus_expiry_policy)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_13expiry_policy_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, terminus_expiry_policy __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":104
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target expiry_policy")
 * 
 */
  __pyx_t_1 = ((target_set_expiry_policy(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":105
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set target expiry_policy")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__272, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":104
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target expiry_policy")
 * 
 */
  }

  /* "src/target.pyx":103
 * 
 *     @expiry_policy.setter
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set target expiry_policy")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.expiry_policy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":108
 * 
 *     @property
 *     def timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  seconds __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":110
 *     def timeout(self):
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target timeout")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_timeout(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":111
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target timeout")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__273, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":110
 *     def timeout(self):
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target timeout")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":112
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target timeout")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":113
 *             self._value_error("Failed to get target timeout")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":112
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target timeout")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/target.pyx":114
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @timeout.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_From_uint32_t(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":108
 * 
 *     @property
 *     def timeout(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.timeout.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":117
 * 
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set target timeout")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  seconds __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_As_uint32_t(__pyx_arg_value); if (unlikely((__pyx_v_value == ((seconds)-1)) && PyErr_Occurred())) __PYX_ERR(21, 117, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((seconds)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7timeout_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, seconds __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":118
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target timeout")
 * 
 */
  __pyx_t_1 = ((target_set_timeout(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":119
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set target timeout")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__274, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":118
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target timeout")
 * 
 */
  }

  /* "src/target.pyx":117
 * 
 *     @timeout.setter
 *     def timeout(self, c_amqp_definitions.seconds value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set target timeout")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.timeout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":122
 * 
 *     @property
 *     def dynamic(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  int __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":124
 *     def dynamic(self):
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target dynamic")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_dynamic(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":125
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__275, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":124
 *     def dynamic(self):
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target dynamic")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":126
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":127
 *             self._value_error("Failed to get target dynamic")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return _value
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":126
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return _value
 */
  }

  /* "src/target.pyx":128
 *         if <void*>_value == NULL:
 *             return None
 *         return _value             # <<<<<<<<<<<<<<
 * 
 *     @dynamic.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":122
 * 
 *     @property
 *     def dynamic(self):             # <<<<<<<<<<<<<<
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.dynamic.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":131
 * 
 *     @dynamic.setter
 *     def dynamic(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set target dynamic")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  int __pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_IsTrue(__pyx_arg_value); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 131, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.dynamic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_7dynamic_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, int __pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":132
 *     @dynamic.setter
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target dynamic")
 * 
 */
  __pyx_t_1 = ((target_set_dynamic(__pyx_v_self->_c_value, __pyx_v_value) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":133
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set target dynamic")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__276, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":132
 *     @dynamic.setter
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target dynamic")
 * 
 */
  }

  /* "src/target.pyx":131
 * 
 *     @dynamic.setter
 *     def dynamic(self, bint value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set target dynamic")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.dynamic.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":136
 * 
 *     @property
 *     def dynamic_node_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties___get__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties___get__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  node_properties __pyx_v__value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/target.pyx":138
 *     def dynamic_node_properties(self):
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target dynamic_node_properties")
 *         if <void*>_value == NULL:
 */
  __pyx_t_1 = ((target_get_dynamic_node_properties(__pyx_v_self->_c_value, (&__pyx_v__value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":139
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic_node_properties")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__277, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":138
 *     def dynamic_node_properties(self):
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to get target dynamic_node_properties")
 *         if <void*>_value == NULL:
 */
  }

  /* "src/target.pyx":140
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic_node_properties")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return annotations_factory(_value)
 */
  __pyx_t_1 = ((((void *)__pyx_v__value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":141
 *             self._value_error("Failed to get target dynamic_node_properties")
 *         if <void*>_value == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return annotations_factory(_value)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/target.pyx":140
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic_node_properties")
 *         if <void*>_value == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return annotations_factory(_value)
 */
  }

  /* "src/target.pyx":142
 *         if <void*>_value == NULL:
 *             return None
 *         return annotations_factory(_value)             # <<<<<<<<<<<<<<
 * 
 *     @dynamic_node_properties.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp_annotations_factory(__pyx_v__value); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/target.pyx":136
 * 
 *     @property
 *     def dynamic_node_properties(self):             # <<<<<<<<<<<<<<
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.dynamic_node_properties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/target.pyx":145
 * 
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set target dynamic_node_properties")
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5uamqp_7c_uamqp_cFields, 1, "value", 0))) __PYX_ERR(21, 145, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_cFields *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/target.pyx":146
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target dynamic_node_properties")
 */
  __pyx_t_1 = ((target_set_dynamic_node_properties(__pyx_v_self->_c_value, ((node_properties)__pyx_v_value->__pyx_base._c_value)) != 0) != 0);
  if (__pyx_t_1) {

    /* "src/target.pyx":147
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set target dynamic_node_properties")             # <<<<<<<<<<<<<<
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__278, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/target.pyx":146
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:             # <<<<<<<<<<<<<<
 *             self._value_error("Failed to set target dynamic_node_properties")
 */
  }

  /* "src/target.pyx":145
 * 
 *     @dynamic_node_properties.setter
 *     def dynamic_node_properties(self, cFields value):             # <<<<<<<<<<<<<<
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set target dynamic_node_properties")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.dynamic_node_properties.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_6__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__279, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_7cTarget_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_7cTarget_8__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_7cTarget_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_cTarget *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__280, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.cTarget.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":19
 *     cdef c_tlsio.TLSIO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_tlsio.TLSIO_CONFIG(NULL, DEFAULT_PORT, NULL, NULL)
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  TLSIO_CONFIG __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/tlsio.pyx":20
 * 
 *     def __cinit__(self):
 *         self._c_value = c_tlsio.TLSIO_CONFIG(NULL, DEFAULT_PORT, NULL, NULL)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1.hostname = NULL;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DEFAULT_PORT); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(22, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1.port = __pyx_t_3;
  __pyx_t_1.underlying_io_interface = NULL;
  __pyx_t_1.underlying_io_parameters = NULL;
  __pyx_v_self->_c_value = __pyx_t_1;

  /* "src/tlsio.pyx":19
 *     cdef c_tlsio.TLSIO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_tlsio.TLSIO_CONFIG(NULL, DEFAULT_PORT, NULL, NULL)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":23
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname___get__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":24
 *     @property
 *     def hostname(self):
 *         return self._c_value.hostname             # <<<<<<<<<<<<<<
 * 
 *     @hostname.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.hostname); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":23
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.hostname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":27
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(22, 27, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.hostname.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":28
 *     @hostname.setter
 *     def hostname(self, const char* value):
 *         self._c_value.hostname = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.hostname = __pyx_v_value;

  /* "src/tlsio.pyx":27
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":31
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port___get__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":32
 *     @property
 *     def port(self):
 *         return self._c_value.port             # <<<<<<<<<<<<<<
 * 
 *     @port.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_c_value.port); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":31
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":35
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) {
  int __pyx_v_port;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_port); {
    __pyx_v_port = __Pyx_PyInt_As_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) __PYX_ERR(22, 35, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self), ((int)__pyx_v_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, int __pyx_v_port) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":36
 *     @port.setter
 *     def port(self, int port):
 *         self._c_value.port = port             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_proxy_config(self, HTTPProxyConfig underlying_io_parameters):
 */
  __pyx_v_self->_c_value.port = __pyx_v_port;

  /* "src/tlsio.pyx":35
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":38
 *         self._c_value.port = port
 * 
 *     cpdef set_proxy_config(self, HTTPProxyConfig underlying_io_parameters):             # <<<<<<<<<<<<<<
 *         cdef const c_xio.IO_INTERFACE_DESCRIPTION* proxy_io
 *         proxy_io = c_tlsio.http_proxy_io_get_interface_description()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_3set_proxy_config(PyObject *__pyx_v_self, PyObject *__pyx_v_underlying_io_parameters); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_11TLSIOConfig_set_proxy_config(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_underlying_io_parameters, int __pyx_skip_dispatch) {
  IO_INTERFACE_DESCRIPTION const *__pyx_v_proxy_io;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("set_proxy_config", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_proxy_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_3set_proxy_config)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_underlying_io_parameters)); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 38, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_underlying_io_parameters)};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 38, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_underlying_io_parameters)};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 38, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(22, 38, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(((PyObject *)__pyx_v_underlying_io_parameters));
          __Pyx_GIVEREF(((PyObject *)__pyx_v_underlying_io_parameters));
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_underlying_io_parameters));
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 38, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/tlsio.pyx":40
 *     cpdef set_proxy_config(self, HTTPProxyConfig underlying_io_parameters):
 *         cdef const c_xio.IO_INTERFACE_DESCRIPTION* proxy_io
 *         proxy_io = c_tlsio.http_proxy_io_get_interface_description()             # <<<<<<<<<<<<<<
 *         self._c_value.underlying_io_interface = proxy_io
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value
 */
  __pyx_v_proxy_io = http_proxy_io_get_interface_description();

  /* "src/tlsio.pyx":41
 *         cdef const c_xio.IO_INTERFACE_DESCRIPTION* proxy_io
 *         proxy_io = c_tlsio.http_proxy_io_get_interface_description()
 *         self._c_value.underlying_io_interface = proxy_io             # <<<<<<<<<<<<<<
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value
 * 
 */
  __pyx_v_self->_c_value.underlying_io_interface = __pyx_v_proxy_io;

  /* "src/tlsio.pyx":42
 *         proxy_io = c_tlsio.http_proxy_io_get_interface_description()
 *         self._c_value.underlying_io_interface = proxy_io
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->_c_value.underlying_io_parameters = (&__pyx_v_underlying_io_parameters->_c_value);

  /* "src/tlsio.pyx":38
 *         self._c_value.port = port
 * 
 *     cpdef set_proxy_config(self, HTTPProxyConfig underlying_io_parameters):             # <<<<<<<<<<<<<<
 *         cdef const c_xio.IO_INTERFACE_DESCRIPTION* proxy_io
 *         proxy_io = c_tlsio.http_proxy_io_get_interface_description()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.set_proxy_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_3set_proxy_config(PyObject *__pyx_v_self, PyObject *__pyx_v_underlying_io_parameters); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_3set_proxy_config(PyObject *__pyx_v_self, PyObject *__pyx_v_underlying_io_parameters) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_proxy_config (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_underlying_io_parameters), __pyx_ptype_5uamqp_7c_uamqp_HTTPProxyConfig, 1, "underlying_io_parameters", 0))) __PYX_ERR(22, 38, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_2set_proxy_config(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self), ((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_underlying_io_parameters));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_2set_proxy_config(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_underlying_io_parameters) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_proxy_config", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_11TLSIOConfig_set_proxy_config(__pyx_v_self, __pyx_v_underlying_io_parameters, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.set_proxy_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__281, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_6__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_11TLSIOConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__282, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.TLSIOConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":49
 *     cdef c_tlsio.HTTP_PROXY_IO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_tlsio.HTTP_PROXY_IO_CONFIG(NULL, 0, NULL, 0, NULL, NULL)
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  HTTP_PROXY_IO_CONFIG __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/tlsio.pyx":50
 * 
 *     def __cinit__(self):
 *         self._c_value = c_tlsio.HTTP_PROXY_IO_CONFIG(NULL, 0, NULL, 0, NULL, NULL)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1.hostname = NULL;
  __pyx_t_1.port = 0;
  __pyx_t_1.proxy_hostname = NULL;
  __pyx_t_1.proxy_port = 0;
  __pyx_t_1.username = NULL;
  __pyx_t_1.password = NULL;
  __pyx_v_self->_c_value = __pyx_t_1;

  /* "src/tlsio.pyx":49
 *     cdef c_tlsio.HTTP_PROXY_IO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_tlsio.HTTP_PROXY_IO_CONFIG(NULL, 0, NULL, 0, NULL, NULL)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":53
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":54
 *     @property
 *     def hostname(self):
 *         return self._c_value.hostname             # <<<<<<<<<<<<<<
 * 
 *     @hostname.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.hostname); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":53
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.hostname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":57
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(22, 57, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.hostname.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":58
 *     @hostname.setter
 *     def hostname(self, const char* value):
 *         self._c_value.hostname = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.hostname = __pyx_v_value;

  /* "src/tlsio.pyx":57
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":61
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":62
 *     @property
 *     def port(self):
 *         return self._c_value.port             # <<<<<<<<<<<<<<
 * 
 *     @port.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_c_value.port); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":61
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":65
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) {
  int __pyx_v_port;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_port); {
    __pyx_v_port = __Pyx_PyInt_As_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) __PYX_ERR(22, 65, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((int)__pyx_v_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, int __pyx_v_port) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":66
 *     @port.setter
 *     def port(self, int port):
 *         self._c_value.port = port             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.port = __pyx_v_port;

  /* "src/tlsio.pyx":65
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":69
 * 
 *     @property
 *     def proxy_hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.proxy_hostname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":70
 *     @property
 *     def proxy_hostname(self):
 *         return self._c_value.proxy_hostname             # <<<<<<<<<<<<<<
 * 
 *     @proxy_hostname.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.proxy_hostname); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":69
 * 
 *     @property
 *     def proxy_hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.proxy_hostname
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.proxy_hostname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":73
 * 
 *     @proxy_hostname.setter
 *     def proxy_hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.proxy_hostname = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(22, 73, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.proxy_hostname.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":74
 *     @proxy_hostname.setter
 *     def proxy_hostname(self, const char* value):
 *         self._c_value.proxy_hostname = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.proxy_hostname = __pyx_v_value;

  /* "src/tlsio.pyx":73
 * 
 *     @proxy_hostname.setter
 *     def proxy_hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.proxy_hostname = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":77
 * 
 *     @property
 *     def proxy_port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.proxy_port
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":78
 *     @property
 *     def proxy_port(self):
 *         return self._c_value.proxy_port             # <<<<<<<<<<<<<<
 * 
 *     @proxy_port.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_c_value.proxy_port); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":77
 * 
 *     @property
 *     def proxy_port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.proxy_port
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.proxy_port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":81
 * 
 *     @proxy_port.setter
 *     def proxy_port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.proxy_port = port
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) {
  int __pyx_v_port;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_port); {
    __pyx_v_port = __Pyx_PyInt_As_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) __PYX_ERR(22, 81, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.proxy_port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((int)__pyx_v_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, int __pyx_v_port) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":82
 *     @proxy_port.setter
 *     def proxy_port(self, int port):
 *         self._c_value.proxy_port = port             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.proxy_port = __pyx_v_port;

  /* "src/tlsio.pyx":81
 * 
 *     @proxy_port.setter
 *     def proxy_port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.proxy_port = port
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":85
 * 
 *     @property
 *     def username(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.username
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":86
 *     @property
 *     def username(self):
 *         return self._c_value.username             # <<<<<<<<<<<<<<
 * 
 *     @username.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.username); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":85
 * 
 *     @property
 *     def username(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.username
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.username.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":89
 * 
 *     @username.setter
 *     def username(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.username = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(22, 89, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.username.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":90
 *     @username.setter
 *     def username(self, const char* value):
 *         self._c_value.username = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.username = __pyx_v_value;

  /* "src/tlsio.pyx":89
 * 
 *     @username.setter
 *     def username(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.username = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":93
 * 
 *     @property
 *     def password(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.password
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password___get__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password___get__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/tlsio.pyx":94
 *     @property
 *     def password(self):
 *         return self._c_value.password             # <<<<<<<<<<<<<<
 * 
 *     @password.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.password); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/tlsio.pyx":93
 * 
 *     @property
 *     def password(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.password
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.password.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/tlsio.pyx":97
 * 
 *     @password.setter
 *     def password(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.password = value
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(22, 97, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.password.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/tlsio.pyx":98
 *     @password.setter
 *     def password(self, const char* value):
 *         self._c_value.password = value             # <<<<<<<<<<<<<<
 */
  __pyx_v_self->_c_value.password = __pyx_v_value;

  /* "src/tlsio.pyx":97
 * 
 *     @password.setter
 *     def password(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.password = value
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__283, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_15HTTPProxyConfig_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__284, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.HTTPProxyConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":21
 *     cdef c_wsio.WSIO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_wsio.WSIO_CONFIG(NULL, DEFAULT_WS_PORT, DEFAULT_WS_RELATIVE_PATH, DEFAULT_WS_PROTOCOL_NAME, NULL, NULL)
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig___cinit__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  WSIO_CONFIG __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "src/wsio.pyx":22
 * 
 *     def __cinit__(self):
 *         self._c_value = c_wsio.WSIO_CONFIG(NULL, DEFAULT_WS_PORT, DEFAULT_WS_RELATIVE_PATH, DEFAULT_WS_PROTOCOL_NAME, NULL, NULL)             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_t_1.hostname = NULL;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_DEFAULT_WS_PORT); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(23, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1.port = __pyx_t_3;
  __pyx_t_1.resource_name = __pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_RELATIVE_PATH;
  __pyx_t_1.protocol = __pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_PROTOCOL_NAME;
  __pyx_t_1.underlying_io_interface = NULL;
  __pyx_t_1.underlying_io_parameters = NULL;
  __pyx_v_self->_c_value = __pyx_t_1;

  /* "src/wsio.pyx":21
 *     cdef c_wsio.WSIO_CONFIG _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         self._c_value = c_wsio.WSIO_CONFIG(NULL, DEFAULT_WS_PORT, DEFAULT_WS_RELATIVE_PATH, DEFAULT_WS_PROTOCOL_NAME, NULL, NULL)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":25
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname___get__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/wsio.pyx":26
 *     @property
 *     def hostname(self):
 *         return self._c_value.hostname             # <<<<<<<<<<<<<<
 * 
 *     @hostname.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.hostname); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/wsio.pyx":25
 * 
 *     @property
 *     def hostname(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.hostname
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.hostname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":29
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(23, 29, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.hostname.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8hostname_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/wsio.pyx":30
 *     @hostname.setter
 *     def hostname(self, const char* value):
 *         self._c_value.hostname = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.hostname = __pyx_v_value;

  /* "src/wsio.pyx":29
 * 
 *     @hostname.setter
 *     def hostname(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.hostname = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":33
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port___get__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/wsio.pyx":34
 *     @property
 *     def port(self):
 *         return self._c_value.port             # <<<<<<<<<<<<<<
 * 
 *     @port.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_c_value.port); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/wsio.pyx":33
 * 
 *     @property
 *     def port(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.port
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":37
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) {
  int __pyx_v_port;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_port); {
    __pyx_v_port = __Pyx_PyInt_As_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) __PYX_ERR(23, 37, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), ((int)__pyx_v_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4port_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, int __pyx_v_port) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/wsio.pyx":38
 *     @port.setter
 *     def port(self, int port):
 *         self._c_value.port = port             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.port = __pyx_v_port;

  /* "src/wsio.pyx":37
 * 
 *     @port.setter
 *     def port(self, int port):             # <<<<<<<<<<<<<<
 *         self._c_value.port = port
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":41
 * 
 *     @property
 *     def resource_name(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.resource_name
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name___get__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/wsio.pyx":42
 *     @property
 *     def resource_name(self):
 *         return self._c_value.resource_name             # <<<<<<<<<<<<<<
 * 
 *     @resource_name.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.resource_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/wsio.pyx":41
 * 
 *     @property
 *     def resource_name(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.resource_name
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.resource_name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":45
 * 
 *     @resource_name.setter
 *     def resource_name(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.resource_name = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(23, 45, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.resource_name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/wsio.pyx":46
 *     @resource_name.setter
 *     def resource_name(self, const char* value):
 *         self._c_value.resource_name = value             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_v_self->_c_value.resource_name = __pyx_v_value;

  /* "src/wsio.pyx":45
 * 
 *     @resource_name.setter
 *     def resource_name(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.resource_name = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":49
 * 
 *     @property
 *     def protocol(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.protocol
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol___get__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol___get__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/wsio.pyx":50
 *     @property
 *     def protocol(self):
 *         return self._c_value.protocol             # <<<<<<<<<<<<<<
 * 
 *     @protocol.setter
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->_c_value.protocol); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/wsio.pyx":49
 * 
 *     @property
 *     def protocol(self):             # <<<<<<<<<<<<<<
 *         return self._c_value.protocol
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.protocol.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":53
 * 
 *     @protocol.setter
 *     def protocol(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.protocol = value
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  char const *__pyx_v_value;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyObject_AsString(__pyx_arg_value); if (unlikely((!__pyx_v_value) && PyErr_Occurred())) __PYX_ERR(23, 53, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.protocol.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol_2__set__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), ((char const *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_8protocol_2__set__(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, char const *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "src/wsio.pyx":54
 *     @protocol.setter
 *     def protocol(self, const char* value):
 *         self._c_value.protocol = value             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_tlsio_config(self, IOInterfaceDescription underlying_io_interface, TLSIOConfig underlying_io_parameters):
 */
  __pyx_v_self->_c_value.protocol = __pyx_v_value;

  /* "src/wsio.pyx":53
 * 
 *     @protocol.setter
 *     def protocol(self, const char* value):             # <<<<<<<<<<<<<<
 *         self._c_value.protocol = value
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/wsio.pyx":56
 *         self._c_value.protocol = value
 * 
 *     cpdef set_tlsio_config(self, IOInterfaceDescription underlying_io_interface, TLSIOConfig underlying_io_parameters):             # <<<<<<<<<<<<<<
 *         self._c_value.underlying_io_interface = underlying_io_interface._c_value
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_3set_tlsio_config(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_10WSIOConfig_set_tlsio_config(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_underlying_io_interface, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_underlying_io_parameters, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  IO_INTERFACE_DESCRIPTION *__pyx_t_7;
  __Pyx_RefNannySetupContext("set_tlsio_config", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_tlsio_config); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_3set_tlsio_config)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      __pyx_t_5 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
          __pyx_t_5 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[3] = {__pyx_t_4, ((PyObject *)__pyx_v_underlying_io_interface), ((PyObject *)__pyx_v_underlying_io_parameters)};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 56, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
        PyObject *__pyx_temp[3] = {__pyx_t_4, ((PyObject *)__pyx_v_underlying_io_interface), ((PyObject *)__pyx_v_underlying_io_parameters)};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 56, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_2);
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(23, 56, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__pyx_t_4) {
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
        }
        __Pyx_INCREF(((PyObject *)__pyx_v_underlying_io_interface));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_underlying_io_interface));
        PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, ((PyObject *)__pyx_v_underlying_io_interface));
        __Pyx_INCREF(((PyObject *)__pyx_v_underlying_io_parameters));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_underlying_io_parameters));
        PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, ((PyObject *)__pyx_v_underlying_io_parameters));
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 56, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/wsio.pyx":57
 * 
 *     cpdef set_tlsio_config(self, IOInterfaceDescription underlying_io_interface, TLSIOConfig underlying_io_parameters):
 *         self._c_value.underlying_io_interface = underlying_io_interface._c_value             # <<<<<<<<<<<<<<
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value
 */
  __pyx_t_7 = __pyx_v_underlying_io_interface->_c_value;
  __pyx_v_self->_c_value.underlying_io_interface = __pyx_t_7;

  /* "src/wsio.pyx":58
 *     cpdef set_tlsio_config(self, IOInterfaceDescription underlying_io_interface, TLSIOConfig underlying_io_parameters):
 *         self._c_value.underlying_io_interface = underlying_io_interface._c_value
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value             # <<<<<<<<<<<<<<
 */
  __pyx_v_self->_c_value.underlying_io_parameters = (&__pyx_v_underlying_io_parameters->_c_value);

  /* "src/wsio.pyx":56
 *         self._c_value.protocol = value
 * 
 *     cpdef set_tlsio_config(self, IOInterfaceDescription underlying_io_interface, TLSIOConfig underlying_io_parameters):             # <<<<<<<<<<<<<<
 *         self._c_value.underlying_io_interface = underlying_io_interface._c_value
 *         self._c_value.underlying_io_parameters = &underlying_io_parameters._c_value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.set_tlsio_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_3set_tlsio_config(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_3set_tlsio_config(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_underlying_io_interface = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_underlying_io_parameters = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_tlsio_config (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_underlying_io_interface,&__pyx_n_s_underlying_io_parameters,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_underlying_io_interface)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_underlying_io_parameters)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_tlsio_config", 1, 2, 2, 1); __PYX_ERR(23, 56, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_tlsio_config") < 0)) __PYX_ERR(23, 56, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_underlying_io_interface = ((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)values[0]);
    __pyx_v_underlying_io_parameters = ((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_tlsio_config", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(23, 56, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.set_tlsio_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_underlying_io_interface), __pyx_ptype_5uamqp_7c_uamqp_IOInterfaceDescription, 1, "underlying_io_interface", 0))) __PYX_ERR(23, 56, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_underlying_io_parameters), __pyx_ptype_5uamqp_7c_uamqp_TLSIOConfig, 1, "underlying_io_parameters", 0))) __PYX_ERR(23, 56, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_2set_tlsio_config(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), __pyx_v_underlying_io_interface, __pyx_v_underlying_io_parameters);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_2set_tlsio_config(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_underlying_io_interface, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_underlying_io_parameters) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_tlsio_config", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_10WSIOConfig_set_tlsio_config(__pyx_v_self, __pyx_v_underlying_io_interface, __pyx_v_underlying_io_parameters, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.set_tlsio_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__285, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_6__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_10WSIOConfig_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__286, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.WSIOConfig.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":19
 * 
 * 
 * cpdef xio_from_wsioconfig(WSIOConfig io_config):             # <<<<<<<<<<<<<<
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* ws_io_interface
 *     ws_io_interface = c_wsio.wsio_get_interface_description()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_117xio_from_wsioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_wsioconfig(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_io_config, CYTHON_UNUSED int __pyx_skip_dispatch) {
  IO_INTERFACE_DESCRIPTION const *__pyx_v_ws_io_interface;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_xio = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("xio_from_wsioconfig", 0);

  /* "src/xio.pyx":21
 * cpdef xio_from_wsioconfig(WSIOConfig io_config):
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* ws_io_interface
 *     ws_io_interface = c_wsio.wsio_get_interface_description()             # <<<<<<<<<<<<<<
 *     xio = XIO()
 *     xio.create(ws_io_interface, io_config, &io_config._c_value)
 */
  __pyx_v_ws_io_interface = wsio_get_interface_description();

  /* "src/xio.pyx":22
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* ws_io_interface
 *     ws_io_interface = c_wsio.wsio_get_interface_description()
 *     xio = XIO()             # <<<<<<<<<<<<<<
 *     xio.create(ws_io_interface, io_config, &io_config._c_value)
 *     return xio
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_XIO)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_xio = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/xio.pyx":23
 *     ws_io_interface = c_wsio.wsio_get_interface_description()
 *     xio = XIO()
 *     xio.create(ws_io_interface, io_config, &io_config._c_value)             # <<<<<<<<<<<<<<
 *     return xio
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_xio->__pyx_vtab)->create(__pyx_v_xio, __pyx_v_ws_io_interface, ((PyObject *)__pyx_v_io_config), (&__pyx_v_io_config->_c_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":24
 *     xio = XIO()
 *     xio.create(ws_io_interface, io_config, &io_config._c_value)
 *     return xio             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_xio));
  __pyx_r = ((PyObject *)__pyx_v_xio);
  goto __pyx_L0;

  /* "src/xio.pyx":19
 * 
 * 
 * cpdef xio_from_wsioconfig(WSIOConfig io_config):             # <<<<<<<<<<<<<<
 *     cdef const c_xio.IO_INTERFACE_DESCRIPTION* ws_io_interface
 *     ws_io_interface = c_wsio.wsio_get_interface_description()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_wsioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_xio);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_117xio_from_wsioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_117xio_from_wsioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("xio_from_wsioconfig (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_io_config), __pyx_ptype_5uamqp_7c_uamqp_WSIOConfig, 1, "io_config", 0))) __PYX_ERR(24, 19, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_116xio_from_wsioconfig(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)__pyx_v_io_config));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_116xio_from_wsioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *__pyx_v_io_config) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("xio_from_wsioconfig", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_xio_from_wsioconfig(__pyx_v_io_config, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_wsioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":27
 * 
 * 
 * cpdef xio_from_tlsioconfig(IOInterfaceDescription io_desc, TLSIOConfig io_config):             # <<<<<<<<<<<<<<
 *     xio = XIO()
 *     xio.create(io_desc._c_value, io_config, &io_config._c_value)
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_119xio_from_tlsioconfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_tlsioconfig(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_io_desc, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_io_config, CYTHON_UNUSED int __pyx_skip_dispatch) {
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_xio = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("xio_from_tlsioconfig", 0);

  /* "src/xio.pyx":28
 * 
 * cpdef xio_from_tlsioconfig(IOInterfaceDescription io_desc, TLSIOConfig io_config):
 *     xio = XIO()             # <<<<<<<<<<<<<<
 *     xio.create(io_desc._c_value, io_config, &io_config._c_value)
 *     return xio
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_XIO)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_xio = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/xio.pyx":29
 * cpdef xio_from_tlsioconfig(IOInterfaceDescription io_desc, TLSIOConfig io_config):
 *     xio = XIO()
 *     xio.create(io_desc._c_value, io_config, &io_config._c_value)             # <<<<<<<<<<<<<<
 *     return xio
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_xio->__pyx_vtab)->create(__pyx_v_xio, __pyx_v_io_desc->_c_value, ((PyObject *)__pyx_v_io_config), (&__pyx_v_io_config->_c_value)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":30
 *     xio = XIO()
 *     xio.create(io_desc._c_value, io_config, &io_config._c_value)
 *     return xio             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_xio));
  __pyx_r = ((PyObject *)__pyx_v_xio);
  goto __pyx_L0;

  /* "src/xio.pyx":27
 * 
 * 
 * cpdef xio_from_tlsioconfig(IOInterfaceDescription io_desc, TLSIOConfig io_config):             # <<<<<<<<<<<<<<
 *     xio = XIO()
 *     xio.create(io_desc._c_value, io_config, &io_config._c_value)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_tlsioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_xio);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_119xio_from_tlsioconfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_119xio_from_tlsioconfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_io_desc = 0;
  struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_io_config = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("xio_from_tlsioconfig (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_io_desc,&__pyx_n_s_io_config,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_io_desc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_io_config)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("xio_from_tlsioconfig", 1, 2, 2, 1); __PYX_ERR(24, 27, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "xio_from_tlsioconfig") < 0)) __PYX_ERR(24, 27, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_io_desc = ((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)values[0]);
    __pyx_v_io_config = ((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("xio_from_tlsioconfig", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 27, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_tlsioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_io_desc), __pyx_ptype_5uamqp_7c_uamqp_IOInterfaceDescription, 1, "io_desc", 0))) __PYX_ERR(24, 27, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_io_config), __pyx_ptype_5uamqp_7c_uamqp_TLSIOConfig, 1, "io_config", 0))) __PYX_ERR(24, 27, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_118xio_from_tlsioconfig(__pyx_self, __pyx_v_io_desc, __pyx_v_io_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_118xio_from_tlsioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_io_desc, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *__pyx_v_io_config) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("xio_from_tlsioconfig", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_xio_from_tlsioconfig(__pyx_v_io_desc, __pyx_v_io_config, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_tlsioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":33
 * 
 * 
 * cpdef xio_from_saslioconfig(SASLClientIOConfig io_config):             # <<<<<<<<<<<<<<
 *     cdef const  c_xio.IO_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_121xio_from_saslioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_xio_from_saslioconfig(struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_io_config, CYTHON_UNUSED int __pyx_skip_dispatch) {
  IO_INTERFACE_DESCRIPTION const *__pyx_v_interface;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_xio = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("xio_from_saslioconfig", 0);

  /* "src/xio.pyx":35
 * cpdef xio_from_saslioconfig(SASLClientIOConfig io_config):
 *     cdef const  c_xio.IO_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()             # <<<<<<<<<<<<<<
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL Client IO Interface description")
 */
  __pyx_v_interface = saslclientio_get_interface_description();

  /* "src/xio.pyx":36
 *     cdef const  c_xio.IO_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 *     if <void*>interface == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL Client IO Interface description")
 *     xio = XIO()
 */
  __pyx_t_1 = ((((void *)__pyx_v_interface) == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "src/xio.pyx":37
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL Client IO Interface description")             # <<<<<<<<<<<<<<
 *     xio = XIO()
 *     xio.create(interface, io_config, &io_config._c_value)
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__287, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 37, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(24, 37, __pyx_L1_error)

    /* "src/xio.pyx":36
 *     cdef const  c_xio.IO_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 *     if <void*>interface == NULL:             # <<<<<<<<<<<<<<
 *         raise ValueError("Failed to create SASL Client IO Interface description")
 *     xio = XIO()
 */
  }

  /* "src/xio.pyx":38
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL Client IO Interface description")
 *     xio = XIO()             # <<<<<<<<<<<<<<
 *     xio.create(interface, io_config, &io_config._c_value)
 *     return xio
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_XIO)); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_xio = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/xio.pyx":39
 *         raise ValueError("Failed to create SASL Client IO Interface description")
 *     xio = XIO()
 *     xio.create(interface, io_config, &io_config._c_value)             # <<<<<<<<<<<<<<
 *     return xio
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_xio->__pyx_vtab)->create(__pyx_v_xio, __pyx_v_interface, ((PyObject *)__pyx_v_io_config), (&__pyx_v_io_config->_c_value)); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xio.pyx":40
 *     xio = XIO()
 *     xio.create(interface, io_config, &io_config._c_value)
 *     return xio             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_xio));
  __pyx_r = ((PyObject *)__pyx_v_xio);
  goto __pyx_L0;

  /* "src/xio.pyx":33
 * 
 * 
 * cpdef xio_from_saslioconfig(SASLClientIOConfig io_config):             # <<<<<<<<<<<<<<
 *     cdef const  c_xio.IO_INTERFACE_DESCRIPTION* interface
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_saslioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_xio);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_121xio_from_saslioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_121xio_from_saslioconfig(PyObject *__pyx_self, PyObject *__pyx_v_io_config) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("xio_from_saslioconfig (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_io_config), __pyx_ptype_5uamqp_7c_uamqp_SASLClientIOConfig, 1, "io_config", 0))) __PYX_ERR(24, 33, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_120xio_from_saslioconfig(__pyx_self, ((struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)__pyx_v_io_config));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_120xio_from_saslioconfig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *__pyx_v_io_config) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("xio_from_saslioconfig", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_xio_from_saslioconfig(__pyx_v_io_config, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.xio_from_saslioconfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":48
 *     cdef object _io_config
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_3XIO_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_3XIO_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_3XIO___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":51
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating XIO")
 *         self.destroy()
 */

/* Python wrapper */
static void __pyx_pw_5uamqp_7c_uamqp_3XIO_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_5uamqp_7c_uamqp_3XIO_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_5uamqp_7c_uamqp_3XIO_2__dealloc__(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_5uamqp_7c_uamqp_3XIO_2__dealloc__(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/xio.pyx":52
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating XIO")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__288, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":53
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating XIO")
 *         self.destroy()             # <<<<<<<<<<<<<<
 * 
 *     cdef _create(self):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":51
 *         pass
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         _logger.debug("Deallocating XIO")
 *         self.destroy()
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.XIO.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/xio.pyx":55
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO__create(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("_create", 0);

  /* "src/xio.pyx":56
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  __pyx_t_1 = ((((void *)__pyx_v_self->_c_value) == NULL) != 0);
  if (__pyx_t_1) {

    /* "src/xio.pyx":57
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()             # <<<<<<<<<<<<<<
 * 
 *     cpdef destroy(self):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memory_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 57, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    if (__pyx_t_4) {
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 57, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 57, __pyx_L1_error)
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/xio.pyx":56
 * 
 *     cdef _create(self):
 *         if <void*>self._c_value is NULL:             # <<<<<<<<<<<<<<
 *             self._memory_error()
 * 
 */
  }

  /* "src/xio.pyx":55
 *         self.destroy()
 * 
 *     cdef _create(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is NULL:
 *             self._memory_error()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO._create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":59
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying XIO")
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_destroy(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __Pyx_RefNannySetupContext("destroy", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_destroy); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_5destroy)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 59, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 59, __pyx_L1_error)
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/xio.pyx":60
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying XIO")
 *             c_xio.xio_destroy(self._c_value)
 */
  __pyx_t_5 = ((((void *)__pyx_v_self->_c_value) != NULL) != 0);
  if (__pyx_t_5) {

    /* "src/xio.pyx":61
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying XIO")             # <<<<<<<<<<<<<<
 *             c_xio.xio_destroy(self._c_value)
 *             self._c_value = <c_xio.XIO_HANDLE>NULL
 */
    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__289, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/xio.pyx":62
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying XIO")
 *             c_xio.xio_destroy(self._c_value)             # <<<<<<<<<<<<<<
 *             self._c_value = <c_xio.XIO_HANDLE>NULL
 *             self._io_config = None
 */
    xio_destroy(__pyx_v_self->_c_value);

    /* "src/xio.pyx":63
 *             _logger.debug("Destroying XIO")
 *             c_xio.xio_destroy(self._c_value)
 *             self._c_value = <c_xio.XIO_HANDLE>NULL             # <<<<<<<<<<<<<<
 *             self._io_config = None
 * 
 */
    __pyx_v_self->_c_value = ((XIO_HANDLE)NULL);

    /* "src/xio.pyx":64
 *             c_xio.xio_destroy(self._c_value)
 *             self._c_value = <c_xio.XIO_HANDLE>NULL
 *             self._io_config = None             # <<<<<<<<<<<<<<
 * 
 *     cdef wrap(self, XIO value):
 */
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF(__pyx_v_self->_io_config);
    __Pyx_DECREF(__pyx_v_self->_io_config);
    __pyx_v_self->_io_config = Py_None;

    /* "src/xio.pyx":60
 * 
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:             # <<<<<<<<<<<<<<
 *             _logger.debug("Destroying XIO")
 *             c_xio.xio_destroy(self._c_value)
 */
  }

  /* "src/xio.pyx":59
 *             self._memory_error()
 * 
 *     cpdef destroy(self):             # <<<<<<<<<<<<<<
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying XIO")
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_5destroy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("destroy (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO_4destroy(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_4destroy(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("destroy", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_3XIO_destroy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.destroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":66
 *             self._io_config = None
 * 
 *     cdef wrap(self, XIO value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._io_config = value._io_config
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_wrap(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  XIO_HANDLE __pyx_t_2;
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/xio.pyx":67
 * 
 *     cdef wrap(self, XIO value):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._io_config = value._io_config
 *         self._c_value = value._c_value
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":68
 *     cdef wrap(self, XIO value):
 *         self.destroy()
 *         self._io_config = value._io_config             # <<<<<<<<<<<<<<
 *         self._c_value = value._c_value
 *         self._create()
 */
  __pyx_t_1 = __pyx_v_value->_io_config;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_io_config);
  __Pyx_DECREF(__pyx_v_self->_io_config);
  __pyx_v_self->_io_config = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/xio.pyx":69
 *         self.destroy()
 *         self._io_config = value._io_config
 *         self._c_value = value._c_value             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_t_2 = __pyx_v_value->_c_value;
  __pyx_v_self->_c_value = __pyx_t_2;

  /* "src/xio.pyx":70
 *         self._io_config = value._io_config
 *         self._c_value = value._c_value
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cdef create(self, c_xio.IO_INTERFACE_DESCRIPTION* io_desc, object io_config, void *io_params):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":66
 *             self._io_config = None
 * 
 *     cdef wrap(self, XIO value):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._io_config = value._io_config
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":72
 *         self._create()
 * 
 *     cdef create(self, c_xio.IO_INTERFACE_DESCRIPTION* io_desc, object io_config, void *io_params):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._io_config = io_config
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_create(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, IO_INTERFACE_DESCRIPTION *__pyx_v_io_desc, PyObject *__pyx_v_io_config, void *__pyx_v_io_params) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/xio.pyx":73
 * 
 *     cdef create(self, c_xio.IO_INTERFACE_DESCRIPTION* io_desc, object io_config, void *io_params):
 *         self.destroy()             # <<<<<<<<<<<<<<
 *         self._io_config = io_config
 *         self._c_value = c_xio.xio_create(io_desc, io_params)
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_self->__pyx_vtab)->destroy(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":74
 *     cdef create(self, c_xio.IO_INTERFACE_DESCRIPTION* io_desc, object io_config, void *io_params):
 *         self.destroy()
 *         self._io_config = io_config             # <<<<<<<<<<<<<<
 *         self._c_value = c_xio.xio_create(io_desc, io_params)
 *         self._create()
 */
  __Pyx_INCREF(__pyx_v_io_config);
  __Pyx_GIVEREF(__pyx_v_io_config);
  __Pyx_GOTREF(__pyx_v_self->_io_config);
  __Pyx_DECREF(__pyx_v_self->_io_config);
  __pyx_v_self->_io_config = __pyx_v_io_config;

  /* "src/xio.pyx":75
 *         self.destroy()
 *         self._io_config = io_config
 *         self._c_value = c_xio.xio_create(io_desc, io_params)             # <<<<<<<<<<<<<<
 *         self._create()
 * 
 */
  __pyx_v_self->_c_value = xio_create(__pyx_v_io_desc, __pyx_v_io_params);

  /* "src/xio.pyx":76
 *         self._io_config = io_config
 *         self._c_value = c_xio.xio_create(io_desc, io_params)
 *         self._create()             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_option(self, const char* option_name, value):
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO *)__pyx_v_self->__pyx_vtab)->_create(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xio.pyx":72
 *         self._create()
 * 
 *     cdef create(self, c_xio.IO_INTERFACE_DESCRIPTION* io_desc, object io_config, void *io_params):             # <<<<<<<<<<<<<<
 *         self.destroy()
 *         self._io_config = io_config
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":78
 *         self._create()
 * 
 *     cpdef set_option(self, const char* option_name, value):             # <<<<<<<<<<<<<<
 *         cdef const void* option_value
 *         option_value = <const void*>value
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_7set_option(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_set_option(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, char const *__pyx_v_option_name, PyObject *__pyx_v_value, int __pyx_skip_dispatch) {
  void const *__pyx_v_option_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("set_option", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_option); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_7set_option)) {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_option_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 78, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
      __pyx_t_6 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
          __pyx_t_6 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_value};
        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 78, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
        PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_value};
        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 78, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(24, 78, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__pyx_t_5) {
          __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3);
        __Pyx_INCREF(__pyx_v_value);
        __Pyx_GIVEREF(__pyx_v_value);
        PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_value);
        __pyx_t_3 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 78, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/xio.pyx":80
 *     cpdef set_option(self, const char* option_name, value):
 *         cdef const void* option_value
 *         option_value = <const void*>value             # <<<<<<<<<<<<<<
 *         if c_xio.xio_setoption(self._c_value, option_name, option_value) != 0:
 *             raise self._value_error("Failed to set option {}".format(option_name))
 */
  __pyx_v_option_value = ((void const *)__pyx_v_value);

  /* "src/xio.pyx":81
 *         cdef const void* option_value
 *         option_value = <const void*>value
 *         if c_xio.xio_setoption(self._c_value, option_name, option_value) != 0:             # <<<<<<<<<<<<<<
 *             raise self._value_error("Failed to set option {}".format(option_name))
 * 
 */
  __pyx_t_8 = ((xio_setoption(__pyx_v_self->_c_value, __pyx_v_option_name, __pyx_v_option_value) != 0) != 0);
  if (unlikely(__pyx_t_8)) {

    /* "src/xio.pyx":82
 *         option_value = <const void*>value
 *         if c_xio.xio_setoption(self._c_value, option_name, option_value) != 0:
 *             raise self._value_error("Failed to set option {}".format(option_name))             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_certificates(self, bytes value):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Failed_to_set_option, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(24, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_option_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 82, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_4);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_3);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_7) {
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 82, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 82, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(24, 82, __pyx_L1_error)

    /* "src/xio.pyx":81
 *         cdef const void* option_value
 *         option_value = <const void*>value
 *         if c_xio.xio_setoption(self._c_value, option_name, option_value) != 0:             # <<<<<<<<<<<<<<
 *             raise self._value_error("Failed to set option {}".format(option_name))
 * 
 */
  }

  /* "src/xio.pyx":78
 *         self._create()
 * 
 *     cpdef set_option(self, const char* option_name, value):             # <<<<<<<<<<<<<<
 *         cdef const void* option_value
 *         option_value = <const void*>value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.set_option", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_7set_option(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_7set_option(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_option_name;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_option (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_option_name,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_option_name)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_option", 1, 2, 2, 1); __PYX_ERR(24, 78, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_option") < 0)) __PYX_ERR(24, 78, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_option_name = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_option_name) && PyErr_Occurred())) __PYX_ERR(24, 78, __pyx_L3_error)
    __pyx_v_value = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_option", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 78, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.set_option", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO_6set_option(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self), __pyx_v_option_name, __pyx_v_value);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_6set_option(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, char const *__pyx_v_option_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_option", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_3XIO_set_option(__pyx_v_self, __pyx_v_option_name, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.set_option", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":84
 *             raise self._value_error("Failed to set option {}".format(option_name))
 * 
 *     cpdef set_certificates(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_9set_certificates(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_3XIO_set_certificates(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, PyObject *__pyx_v_value, int __pyx_skip_dispatch) {
  char *__pyx_v_certificate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  char *__pyx_t_6;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("set_certificates", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_certificates); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_9set_certificates)) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      if (!__pyx_t_4) {
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 84, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      } else {
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_value};
          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 84, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_value};
          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 84, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GOTREF(__pyx_t_2);
        } else
        #endif
        {
          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(24, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
          __Pyx_INCREF(__pyx_v_value);
          __Pyx_GIVEREF(__pyx_v_value);
          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_value);
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/xio.pyx":85
 * 
 *     cpdef set_certificates(self, bytes value):
 *         cdef char *certificate = value             # <<<<<<<<<<<<<<
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:
 *             raise self._value_error("Failed to set certificates")
 */
  if (unlikely(__pyx_v_value == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(24, 85, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyBytes_AsWritableString(__pyx_v_value); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(24, 85, __pyx_L1_error)
  __pyx_v_certificate = __pyx_t_6;

  /* "src/xio.pyx":86
 *     cpdef set_certificates(self, bytes value):
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:             # <<<<<<<<<<<<<<
 *             raise self._value_error("Failed to set certificates")
 * 
 */
  __pyx_t_7 = ((xio_setoption(__pyx_v_self->_c_value, ((char const *)"TrustedCerts"), ((void *)__pyx_v_certificate)) != 0) != 0);
  if (unlikely(__pyx_t_7)) {

    /* "src/xio.pyx":87
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:
 *             raise self._value_error("Failed to set certificates")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__290, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 87, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(24, 87, __pyx_L1_error)

    /* "src/xio.pyx":86
 *     cpdef set_certificates(self, bytes value):
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:             # <<<<<<<<<<<<<<
 *             raise self._value_error("Failed to set certificates")
 * 
 */
  }

  /* "src/xio.pyx":84
 *             raise self._value_error("Failed to set option {}".format(option_name))
 * 
 *     cpdef set_certificates(self, bytes value):             # <<<<<<<<<<<<<<
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.set_certificates", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_9set_certificates(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_9set_certificates(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_certificates (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), (&PyBytes_Type), 1, "value", 1))) __PYX_ERR(24, 84, __pyx_L1_error)
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO_8set_certificates(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self), ((PyObject*)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_8set_certificates(struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_certificates", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_3XIO_set_certificates(__pyx_v_self, __pyx_v_value, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.set_certificates", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO_10__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__291, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_3XIO_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_3XIO_12__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_3XIO_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_XIO *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__292, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.XIO.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":94
 *     cdef c_xio.IO_INTERFACE_DESCRIPTION* _c_value
 * 
 *     def __cinit__(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
 */

/* Python wrapper */
static int __pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription___cinit__(((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription___cinit__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xio.pyx":97
 *         pass
 * 
 *     cdef wrap(self, c_xio.IO_INTERFACE_DESCRIPTION* value):             # <<<<<<<<<<<<<<
 *         self._c_value = value
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp_22IOInterfaceDescription_wrap(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self, IO_INTERFACE_DESCRIPTION *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("wrap", 0);

  /* "src/xio.pyx":98
 * 
 *     cdef wrap(self, c_xio.IO_INTERFACE_DESCRIPTION* value):
 *         self._c_value = value             # <<<<<<<<<<<<<<
 */
  __pyx_v_self->_c_value = __pyx_v_value;

  /* "src/xio.pyx":97
 *         pass
 * 
 *     cdef wrap(self, c_xio.IO_INTERFACE_DESCRIPTION* value):             # <<<<<<<<<<<<<<
 *         self._c_value = value
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_2__reduce_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__293, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.IOInterfaceDescription.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_4__setstate_cython__(((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_22IOInterfaceDescription_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__294, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.IOInterfaceDescription.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xlogging.pyx":26
 * 
 * 
 * cdef char* vprintf_alloc(const char* format, c_xlogging.va_list va):             # <<<<<<<<<<<<<<
 *     cdef char* result
 *     cdef c_xlogging.va_list va_copy
 */

static char *__pyx_f_5uamqp_7c_uamqp_vprintf_alloc(char const *__pyx_v_format, va_list __pyx_v_va) {
  char *__pyx_v_result;
  va_list __pyx_v_va_copy;
  int __pyx_v_neededSize;
  char *__pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("vprintf_alloc", 0);

  /* "src/xlogging.pyx":30
 *     cdef c_xlogging.va_list va_copy
 *     cdef int neededSize
 *     c_xlogging.va_copy(va_copy, va);             # <<<<<<<<<<<<<<
 *     neededSize = c_xlogging.vsnprintf(NULL, 0, format, va_copy)
 *     c_xlogging.va_end(va_copy)
 */
  va_copy(__pyx_v_va_copy, __pyx_v_va);

  /* "src/xlogging.pyx":31
 *     cdef int neededSize
 *     c_xlogging.va_copy(va_copy, va);
 *     neededSize = c_xlogging.vsnprintf(NULL, 0, format, va_copy)             # <<<<<<<<<<<<<<
 *     c_xlogging.va_end(va_copy)
 * 
 */
  __pyx_v_neededSize = vsnprintf(NULL, 0, __pyx_v_format, __pyx_v_va_copy);

  /* "src/xlogging.pyx":32
 *     c_xlogging.va_copy(va_copy, va);
 *     neededSize = c_xlogging.vsnprintf(NULL, 0, format, va_copy)
 *     c_xlogging.va_end(va_copy)             # <<<<<<<<<<<<<<
 * 
 *     if neededSize < 0:
 */
  va_end(__pyx_v_va_copy);

  /* "src/xlogging.pyx":34
 *     c_xlogging.va_end(va_copy)
 * 
 *     if neededSize < 0:             # <<<<<<<<<<<<<<
 *         result = NULL
 *     else:
 */
  __pyx_t_1 = ((__pyx_v_neededSize < 0) != 0);
  if (__pyx_t_1) {

    /* "src/xlogging.pyx":35
 * 
 *     if neededSize < 0:
 *         result = NULL             # <<<<<<<<<<<<<<
 *     else:
 *         result = <char*>malloc(neededSize + 1)
 */
    __pyx_v_result = NULL;

    /* "src/xlogging.pyx":34
 *     c_xlogging.va_end(va_copy)
 * 
 *     if neededSize < 0:             # <<<<<<<<<<<<<<
 *         result = NULL
 *     else:
 */
    goto __pyx_L3;
  }

  /* "src/xlogging.pyx":37
 *         result = NULL
 *     else:
 *         result = <char*>malloc(neededSize + 1)             # <<<<<<<<<<<<<<
 *         if <void*>result != NULL:
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:
 */
  /*else*/ {
    __pyx_v_result = ((char *)malloc((__pyx_v_neededSize + 1)));

    /* "src/xlogging.pyx":38
 *     else:
 *         result = <char*>malloc(neededSize + 1)
 *         if <void*>result != NULL:             # <<<<<<<<<<<<<<
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:
 *                 free(result)
 */
    __pyx_t_1 = ((((void *)__pyx_v_result) != NULL) != 0);
    if (__pyx_t_1) {

      /* "src/xlogging.pyx":39
 *         result = <char*>malloc(neededSize + 1)
 *         if <void*>result != NULL:
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:             # <<<<<<<<<<<<<<
 *                 free(result)
 *                 result = NULL
 */
      __pyx_t_1 = ((vsnprintf(__pyx_v_result, (__pyx_v_neededSize + 1), __pyx_v_format, __pyx_v_va) != __pyx_v_neededSize) != 0);
      if (__pyx_t_1) {

        /* "src/xlogging.pyx":40
 *         if <void*>result != NULL:
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:
 *                 free(result)             # <<<<<<<<<<<<<<
 *                 result = NULL
 *     return result;
 */
        free(__pyx_v_result);

        /* "src/xlogging.pyx":41
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:
 *                 free(result)
 *                 result = NULL             # <<<<<<<<<<<<<<
 *     return result;
 * 
 */
        __pyx_v_result = NULL;

        /* "src/xlogging.pyx":39
 *         result = <char*>malloc(neededSize + 1)
 *         if <void*>result != NULL:
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:             # <<<<<<<<<<<<<<
 *                 free(result)
 *                 result = NULL
 */
      }

      /* "src/xlogging.pyx":38
 *     else:
 *         result = <char*>malloc(neededSize + 1)
 *         if <void*>result != NULL:             # <<<<<<<<<<<<<<
 *             if c_xlogging.vsnprintf(result, neededSize + 1, format, va) != neededSize:
 *                 free(result)
 */
    }
  }
  __pyx_L3:;

  /* "src/xlogging.pyx":42
 *                 free(result)
 *                 result = NULL
 *     return result;             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/xlogging.pyx":26
 * 
 * 
 * cdef char* vprintf_alloc(const char* format, c_xlogging.va_list va):             # <<<<<<<<<<<<<<
 *     cdef char* result
 *     cdef c_xlogging.va_list va_copy
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xlogging.pyx":45
 * 
 * 
 * cdef void custom_logging_function(c_xlogging.LOG_CATEGORY_TAG log_category, const char* file, const char* func, const int line, unsigned int options, const char* format, ...):             # <<<<<<<<<<<<<<
 *     log_level = LogCategory(log_category)
 *     cdef c_xlogging.va_list args
 */

static void __pyx_f_5uamqp_7c_uamqp_custom_logging_function(enum LOG_CATEGORY_TAG __pyx_v_log_category, char const *__pyx_v_file, char const *__pyx_v_func, int const __pyx_v_line, unsigned int __pyx_v_options, char const *__pyx_v_format, ...) {
  PyObject *__pyx_v_log_level = NULL;
  va_list __pyx_v_args;
  char *__pyx_v_text;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  char const *__pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  __Pyx_RefNannySetupContext("custom_logging_function", 0);

  /* "src/xlogging.pyx":46
 * 
 * cdef void custom_logging_function(c_xlogging.LOG_CATEGORY_TAG log_category, const char* file, const char* func, const int line, unsigned int options, const char* format, ...):
 *     log_level = LogCategory(log_category)             # <<<<<<<<<<<<<<
 *     cdef c_xlogging.va_list args
 *     cdef char* text
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LogCategory); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(__pyx_v_log_category); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 46, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 46, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 46, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    } else
    #endif
    {
      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 46, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 46, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_log_level = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/xlogging.pyx":49
 *     cdef c_xlogging.va_list args
 *     cdef char* text
 *     c_xlogging.va_start(args, format)             # <<<<<<<<<<<<<<
 *     try:
 *         text = vprintf_alloc(format, args)
 */
  va_start(__pyx_v_args, __pyx_v_format);

  /* "src/xlogging.pyx":50
 *     cdef char* text
 *     c_xlogging.va_start(args, format)
 *     try:             # <<<<<<<<<<<<<<
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:
 */
  /*try:*/ {
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      /*try:*/ {

        /* "src/xlogging.pyx":51
 *     c_xlogging.va_start(args, format)
 *     try:
 *         text = vprintf_alloc(format, args)             # <<<<<<<<<<<<<<
 *         if <void*>text != NULL:
 *             _python_log(log_level, text, bool(options), file=file, func=func, line=line)
 */
        __pyx_v_text = __pyx_f_5uamqp_7c_uamqp_vprintf_alloc(__pyx_v_format, __pyx_v_args);

        /* "src/xlogging.pyx":52
 *     try:
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             _python_log(log_level, text, bool(options), file=file, func=func, line=line)
 *     except KeyboardInterrupt:
 */
        __pyx_t_9 = ((((void *)__pyx_v_text) != NULL) != 0);
        if (__pyx_t_9) {

          /* "src/xlogging.pyx":53
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:
 *             _python_log(log_level, text, bool(options), file=file, func=func, line=line)             # <<<<<<<<<<<<<<
 *     except KeyboardInterrupt:
 *         pass
 */
          __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_python_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_options); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyBool_FromLong((!(!__pyx_t_9))); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_INCREF(__pyx_v_log_level);
          __Pyx_GIVEREF(__pyx_v_log_level);
          PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_log_level);
          __Pyx_GIVEREF(__pyx_t_2);
          PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
          __Pyx_GIVEREF(__pyx_t_5);
          PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_5);
          __pyx_t_2 = 0;
          __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_file, __pyx_t_2) < 0) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_func, __pyx_t_2) < 0) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_line, __pyx_t_2) < 0) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 53, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

          /* "src/xlogging.pyx":52
 *     try:
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             _python_log(log_level, text, bool(options), file=file, func=func, line=line)
 *     except KeyboardInterrupt:
 */
        }

        /* "src/xlogging.pyx":50
 *     cdef char* text
 *     c_xlogging.va_start(args, format)
 *     try:             # <<<<<<<<<<<<<<
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:
 */
      }
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/xlogging.pyx":54
 *         if <void*>text != NULL:
 *             _python_log(log_level, text, bool(options), file=file, func=func, line=line)
 *     except KeyboardInterrupt:             # <<<<<<<<<<<<<<
 *         pass
 *     finally:
 */
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt);
      if (__pyx_t_10) {
        __Pyx_ErrRestore(0,0,0);
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "src/xlogging.pyx":50
 *     cdef char* text
 *     c_xlogging.va_start(args, format)
 *     try:             # <<<<<<<<<<<<<<
 *         text = vprintf_alloc(format, args)
 *         if <void*>text != NULL:
 */
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
      __pyx_L11_try_end:;
    }
  }

  /* "src/xlogging.pyx":57
 *         pass
 *     finally:
 *         c_xlogging.va_end(args)             # <<<<<<<<<<<<<<
 *         if <void*>text != NULL:
 *             free(text)
 */
  /*finally:*/ {
    /*normal exit:*/{
      va_end(__pyx_v_args);

      /* "src/xlogging.pyx":58
 *     finally:
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             free(text)
 * 
 */
      __pyx_t_9 = ((((void *)__pyx_v_text) != NULL) != 0);
      if (__pyx_t_9) {

        /* "src/xlogging.pyx":59
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:
 *             free(text)             # <<<<<<<<<<<<<<
 * 
 * 
 */
        free(__pyx_v_text);

        /* "src/xlogging.pyx":58
 *     finally:
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             free(text)
 * 
 */
      }
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __Pyx_XGOTREF(__pyx_t_15);
      __pyx_t_10 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename;
      {

        /* "src/xlogging.pyx":57
 *         pass
 *     finally:
 *         c_xlogging.va_end(args)             # <<<<<<<<<<<<<<
 *         if <void*>text != NULL:
 *             free(text)
 */
        va_end(__pyx_v_args);

        /* "src/xlogging.pyx":58
 *     finally:
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             free(text)
 * 
 */
        __pyx_t_9 = ((((void *)__pyx_v_text) != NULL) != 0);
        if (__pyx_t_9) {

          /* "src/xlogging.pyx":59
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:
 *             free(text)             # <<<<<<<<<<<<<<
 * 
 * 
 */
          free(__pyx_v_text);

          /* "src/xlogging.pyx":58
 *     finally:
 *         c_xlogging.va_end(args)
 *         if <void*>text != NULL:             # <<<<<<<<<<<<<<
 *             free(text)
 * 
 */
        }
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_XGIVEREF(__pyx_t_15);
        __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15);
      }
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_7, __pyx_t_6);
      __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0;
      __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "src/xlogging.pyx":45
 * 
 * 
 * cdef void custom_logging_function(c_xlogging.LOG_CATEGORY_TAG log_category, const char* file, const char* func, const int line, unsigned int options, const char* format, ...):             # <<<<<<<<<<<<<<
 *     log_level = LogCategory(log_category)
 *     cdef c_xlogging.va_list args
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("uamqp.c_uamqp.custom_logging_function", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_log_level);
  __Pyx_RefNannyFinishContext();
}

/* "src/xlogging.pyx":62
 * 
 * 
 * cpdef set_python_logger():             # <<<<<<<<<<<<<<
 *     c_xlogging.xlogging_set_log_function(<c_xlogging.LOGGER_LOG>custom_logging_function)
 * 
 */

static PyObject *__pyx_pw_5uamqp_7c_uamqp_123set_python_logger(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_f_5uamqp_7c_uamqp_set_python_logger(CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_python_logger", 0);

  /* "src/xlogging.pyx":63
 * 
 * cpdef set_python_logger():
 *     c_xlogging.xlogging_set_log_function(<c_xlogging.LOGGER_LOG>custom_logging_function)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  xlogging_set_log_function(((LOGGER_LOG)__pyx_f_5uamqp_7c_uamqp_custom_logging_function));

  /* "src/xlogging.pyx":62
 * 
 * 
 * cpdef set_python_logger():             # <<<<<<<<<<<<<<
 *     c_xlogging.xlogging_set_log_function(<c_xlogging.LOGGER_LOG>custom_logging_function)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_123set_python_logger(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_5uamqp_7c_uamqp_123set_python_logger(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_python_logger (wrapper)", 0);
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_122set_python_logger(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_122set_python_logger(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("set_python_logger", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_5uamqp_7c_uamqp_set_python_logger(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("uamqp.c_uamqp.set_python_logger", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/xlogging.pyx":66
 * 
 * 
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):             # <<<<<<<<<<<<<<
 *     text_bldr.append(text)
 *     if not end:
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_125_python_log(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_125_python_log = {"_python_log", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_125_python_log, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_125_python_log(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_category = 0;
  PyObject *__pyx_v_text = 0;
  PyObject *__pyx_v_end = 0;
  PyObject *__pyx_v_text_bldr = 0;
  PyObject *__pyx_v_file = 0;
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_line = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_python_log (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_category,&__pyx_n_s_text,&__pyx_n_s_end,&__pyx_n_s_text_bldr,&__pyx_n_s_file,&__pyx_n_s_func,&__pyx_n_s_line,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    values[3] = __pyx_k__295;
    values[4] = ((PyObject *)Py_None);
    values[5] = ((PyObject *)Py_None);
    values[6] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_category)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_text)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_python_log", 0, 3, 7, 1); __PYX_ERR(25, 66, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_end)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_python_log", 0, 3, 7, 2); __PYX_ERR(25, 66, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_text_bldr);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_file);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func);
          if (value) { values[5] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_line);
          if (value) { values[6] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_python_log") < 0)) __PYX_ERR(25, 66, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_category = values[0];
    __pyx_v_text = values[1];
    __pyx_v_end = values[2];
    __pyx_v_text_bldr = values[3];
    __pyx_v_file = values[4];
    __pyx_v_func = values[5];
    __pyx_v_line = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_python_log", 0, 3, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 66, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp._python_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_124_python_log(__pyx_self, __pyx_v_category, __pyx_v_text, __pyx_v_end, __pyx_v_text_bldr, __pyx_v_file, __pyx_v_func, __pyx_v_line);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_124_python_log(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_category, PyObject *__pyx_v_text, PyObject *__pyx_v_end, PyObject *__pyx_v_text_bldr, PyObject *__pyx_v_file, PyObject *__pyx_v_func, PyObject *__pyx_v_line) {
  PyObject *__pyx_v_log_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("_python_log", 0);

  /* "src/xlogging.pyx":67
 * 
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):
 *     text_bldr.append(text)             # <<<<<<<<<<<<<<
 *     if not end:
 *         return
 */
  __pyx_t_1 = __Pyx_PyObject_Append(__pyx_v_text_bldr, __pyx_v_text); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 67, __pyx_L1_error)

  /* "src/xlogging.pyx":68
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):
 *     text_bldr.append(text)
 *     if not end:             # <<<<<<<<<<<<<<
 *         return
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_end); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(25, 68, __pyx_L1_error)
  __pyx_t_3 = ((!__pyx_t_2) != 0);
  if (__pyx_t_3) {

    /* "src/xlogging.pyx":69
 *     text_bldr.append(text)
 *     if not end:
 *         return             # <<<<<<<<<<<<<<
 * 
 *     log_line = b''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/xlogging.pyx":68
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):
 *     text_bldr.append(text)
 *     if not end:             # <<<<<<<<<<<<<<
 *         return
 * 
 */
  }

  /* "src/xlogging.pyx":71
 *         return
 * 
 *     log_line = b''             # <<<<<<<<<<<<<<
 *     while text_bldr:
 *         log_line += text_bldr.pop(0)
 */
  __Pyx_INCREF(__pyx_kp_b__296);
  __pyx_v_log_line = __pyx_kp_b__296;

  /* "src/xlogging.pyx":72
 * 
 *     log_line = b''
 *     while text_bldr:             # <<<<<<<<<<<<<<
 *         log_line += text_bldr.pop(0)
 *     if category == LogCategory.Debug or category == LogCategory.Info:
 */
  while (1) {
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_text_bldr); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(25, 72, __pyx_L1_error)
    if (!__pyx_t_3) break;

    /* "src/xlogging.pyx":73
 *     log_line = b''
 *     while text_bldr:
 *         log_line += text_bldr.pop(0)             # <<<<<<<<<<<<<<
 *     if category == LogCategory.Debug or category == LogCategory.Info:
 *         _logger.info("%r", log_line)
 */
    __pyx_t_4 = __Pyx_PyObject_PopIndex(__pyx_v_text_bldr, __pyx_int_0, 0, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_log_line, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_log_line, __pyx_t_5);
    __pyx_t_5 = 0;
  }

  /* "src/xlogging.pyx":74
 *     while text_bldr:
 *         log_line += text_bldr.pop(0)
 *     if category == LogCategory.Debug or category == LogCategory.Info:             # <<<<<<<<<<<<<<
 *         _logger.info("%r", log_line)
 *     else:
 */
  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_LogCategory); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_Debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_v_category, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_LogCategory); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_Info); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_v_category, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(25, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_3) {

    /* "src/xlogging.pyx":75
 *         log_line += text_bldr.pop(0)
 *     if category == LogCategory.Debug or category == LogCategory.Info:
 *         _logger.info("%r", log_line)             # <<<<<<<<<<<<<<
 *     else:
 *         _logger.info("%r (%r:%r:%r)", log_line, file, func, line)
 */
    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(25, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_6, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_r, __pyx_v_log_line};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 75, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_r, __pyx_v_log_line};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 75, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    {
      __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(25, 75, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_s_r);
      __Pyx_GIVEREF(__pyx_kp_s_r);
      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_kp_s_r);
      __Pyx_INCREF(__pyx_v_log_line);
      __Pyx_GIVEREF(__pyx_v_log_line);
      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_log_line);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 75, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/xlogging.pyx":74
 *     while text_bldr:
 *         log_line += text_bldr.pop(0)
 *     if category == LogCategory.Debug or category == LogCategory.Info:             # <<<<<<<<<<<<<<
 *         _logger.info("%r", log_line)
 *     else:
 */
    goto __pyx_L6;
  }

  /* "src/xlogging.pyx":77
 *         _logger.info("%r", log_line)
 *     else:
 *         _logger.info("%r (%r:%r:%r)", log_line, file, func, line)             # <<<<<<<<<<<<<<
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(25, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(25, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    __pyx_t_7 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_8, function);
        __pyx_t_7 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_8)) {
      PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_kp_s_r_r_r_r, __pyx_v_log_line, __pyx_v_file, __pyx_v_func, __pyx_v_line};
      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 77, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
      PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_kp_s_r_r_r_r, __pyx_v_log_line, __pyx_v_file, __pyx_v_func, __pyx_v_line};
      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 77, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 77, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_s_r_r_r_r);
      __Pyx_GIVEREF(__pyx_kp_s_r_r_r_r);
      PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_kp_s_r_r_r_r);
      __Pyx_INCREF(__pyx_v_log_line);
      __Pyx_GIVEREF(__pyx_v_log_line);
      PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_log_line);
      __Pyx_INCREF(__pyx_v_file);
      __Pyx_GIVEREF(__pyx_v_file);
      PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_7, __pyx_v_file);
      __Pyx_INCREF(__pyx_v_func);
      __Pyx_GIVEREF(__pyx_v_func);
      PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_7, __pyx_v_func);
      __Pyx_INCREF(__pyx_v_line);
      __Pyx_GIVEREF(__pyx_v_line);
      PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_7, __pyx_v_line);
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 77, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_L6:;

  /* "src/xlogging.pyx":66
 * 
 * 
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):             # <<<<<<<<<<<<<<
 *     text_bldr.append(text)
 *     if not end:
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("uamqp.c_uamqp._python_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_log_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_127__pyx_unpickle_StructBase(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_127__pyx_unpickle_StructBase = {"__pyx_unpickle_StructBase", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_127__pyx_unpickle_StructBase, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_127__pyx_unpickle_StructBase(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_StructBase (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_StructBase", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_StructBase", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_StructBase") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_StructBase", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_StructBase", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_126__pyx_unpickle_StructBase(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_126__pyx_unpickle_StructBase(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = NULL;
  PyObject *__pyx_v___pyx_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("__pyx_unpickle_StructBase", 0);

  /* "(tree fragment)":2
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":3
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = StructBase.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":4
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = StructBase.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 4, __pyx_L1_error)

    /* "(tree fragment)":2
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":5
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = StructBase.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_StructBase), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v___pyx_type};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v___pyx_type};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_INCREF(__pyx_v___pyx_type);
      __Pyx_GIVEREF(__pyx_v___pyx_type);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v___pyx_type);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":6
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = StructBase.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_7 = (__pyx_t_1 != 0);
  if (__pyx_t_7) {

    /* "(tree fragment)":7
 *     __pyx_result = StructBase.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 7, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp___pyx_unpickle_StructBase__set_state(((struct __pyx_obj_5uamqp_7c_uamqp_StructBase *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = StructBase.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":8
 *     if __pyx_state is not None:
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_StructBase", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":9
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp___pyx_unpickle_StructBase__set_state(struct __pyx_obj_5uamqp_7c_uamqp_StructBase *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_StructBase__set_state", 0);

  /* "(tree fragment)":10
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(2, 10, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 10, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 10, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":11
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 11, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":10
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":9
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_StructBase__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_Messaging(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */

/* Python wrapper */
static PyObject *__pyx_pw_5uamqp_7c_uamqp_129__pyx_unpickle_Messaging(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_5uamqp_7c_uamqp_129__pyx_unpickle_Messaging = {"__pyx_unpickle_Messaging", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_129__pyx_unpickle_Messaging, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_5uamqp_7c_uamqp_129__pyx_unpickle_Messaging(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Messaging (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Messaging", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Messaging", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Messaging") < 0)) __PYX_ERR(2, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Messaging", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_Messaging", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_5uamqp_7c_uamqp_128__pyx_unpickle_Messaging(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_5uamqp_7c_uamqp_128__pyx_unpickle_Messaging(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = NULL;
  PyObject *__pyx_v___pyx_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Messaging", 0);

  /* "(tree fragment)":2
 * def __pyx_unpickle_Messaging(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":3
 * def __pyx_unpickle_Messaging(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Messaging.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":4
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = Messaging.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    if (!__pyx_t_5) {
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 4, __pyx_L1_error)

    /* "(tree fragment)":2
 * def __pyx_unpickle_Messaging(__pyx_type, long __pyx_checksum, __pyx_state):
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":5
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Messaging.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  if (!__pyx_t_6) {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  } else {
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v___pyx_type};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v___pyx_type};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
      __Pyx_INCREF(__pyx_v___pyx_type);
      __Pyx_GIVEREF(__pyx_v___pyx_type);
      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v___pyx_type);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":6
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Messaging.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_7 = (__pyx_t_1 != 0);
  if (__pyx_t_7) {

    /* "(tree fragment)":7
 *     __pyx_result = Messaging.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 7, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_5uamqp_7c_uamqp___pyx_unpickle_Messaging__set_state(((struct __pyx_obj_5uamqp_7c_uamqp_Messaging *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Messaging.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":8
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Messaging(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_Messaging", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":9
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_5uamqp_7c_uamqp___pyx_unpickle_Messaging__set_state(struct __pyx_obj_5uamqp_7c_uamqp_Messaging *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Messaging__set_state", 0);

  /* "(tree fragment)":10
 *     return __pyx_result
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(2, 10, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 10, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 10, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":11
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 11, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    if (!__pyx_t_8) {
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_5);
    } else {
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_t_6);
        __pyx_t_6 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":10
 *     return __pyx_result
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":9
 *         __pyx_unpickle_Messaging__set_state(<Messaging> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Messaging__set_state(Messaging __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("uamqp.c_uamqp.__pyx_unpickle_Messaging__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_StructBase(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_StructBase[] = {
  {"_memory_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10StructBase_1_memory_error, METH_NOARGS, 0},
  {"_value_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10StructBase_3_value_error, METH_VARARGS|METH_KEYWORDS, 0},
  {"_null_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10StructBase_5_null_error, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10StructBase_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10StructBase_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_StructBase = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.StructBase", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_StructBase), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "Base class for wrapped C structs.", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_StructBase, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_StructBase, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cManagementOperation __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cManagementOperation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cManagementOperation;
  p->_session = Py_None; Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cManagementOperation(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *p = (struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_session);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_cManagementOperation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *p = (struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_cManagementOperation)); if (e) return e;
  if (p->_session) {
    e = (*v)(p->_session, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_cManagementOperation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *p = (struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_cManagementOperation);
  tmp = ((PyObject*)p->_session);
  p->_session = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cManagementOperation[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_5destroy, METH_NOARGS, 0},
  {"set_trace", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_7set_trace, METH_O, 0},
  {"set_response_field_names", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_9set_response_field_names, METH_VARARGS|METH_KEYWORDS, 0},
  {"open", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_11open, METH_O, 0},
  {"close", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_13close, METH_NOARGS, 0},
  {"execute", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_15execute, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_17__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cManagementOperation_19__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cManagementOperation = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cManagementOperation", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cManagementOperation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_cManagementOperation, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_cManagementOperation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cManagementOperation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cManagementOperation, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPString __pyx_vtable_5uamqp_7c_uamqp_AMQPString;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AMQPString(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_AMQPString;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_10AMQPString_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPString(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_10AMQPString_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_tp_richcompare_5uamqp_7c_uamqp_AMQPString(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_5uamqp_7c_uamqp_10AMQPString_11__eq__(o1, o2);
    }
    case Py_NE: {
      return __pyx_pw_5uamqp_7c_uamqp_10AMQPString_13__ne__(o1, o2);
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_AMQPString[] = {
  {"__bytes__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_5__bytes__, METH_NOARGS, 0},
  {"__unicode__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_9__unicode__, METH_NOARGS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_15destroy, METH_NOARGS, 0},
  {"append", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_17append, METH_O, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_19clone, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_21__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10AMQPString_23__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_AMQPString = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.AMQPString", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPString, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  __pyx_pw_5uamqp_7c_uamqp_10AMQPString_7__str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_5uamqp_7c_uamqp_AMQPString, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_AMQPString, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_AMQPString, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue __pyx_vtable_5uamqp_7c_uamqp_AMQPValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_tp_richcompare_5uamqp_7c_uamqp_AMQPValue(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5__eq__(o1, o2);
    }
    case Py_NE: {
      return __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_7__ne__(o1, o2);
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9AMQPValue_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_4type_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9AMQPValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_AMQPValue[] = {
  {"__bytes__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_9__bytes__, METH_NOARGS, 0},
  {"__unicode__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_13__unicode__, METH_NOARGS, 0},
  {"_as_string", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_15_as_string, METH_NOARGS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_17destroy, METH_NOARGS, 0},
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_19create, METH_NOARGS, 0},
  {"get_encoded_size", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_21get_encoded_size, METH_NOARGS, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_23clone, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_25__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9AMQPValue_27__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_AMQPValue[] = {
  {(char *)"type", __pyx_getprop_5uamqp_7c_uamqp_9AMQPValue_type, 0, (char *)0, 0},
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9AMQPValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_AMQPValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.AMQPValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_5uamqp_7c_uamqp_AMQPValue, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_AMQPValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_AMQPValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_BoolValue __pyx_vtable_5uamqp_7c_uamqp_BoolValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_BoolValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_BoolValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9BoolValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9BoolValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_BoolValue[] = {
  {"_bool_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9BoolValue_1_bool_value, METH_NOARGS, 0},
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9BoolValue_3create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9BoolValue_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9BoolValue_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_BoolValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9BoolValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_BoolValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.BoolValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_BoolValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_BoolValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_BoolValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UByteValue __pyx_vtable_5uamqp_7c_uamqp_UByteValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UByteValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_UByteValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_UByteValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10UByteValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10UByteValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_UByteValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10UByteValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10UByteValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10UByteValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_UByteValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_10UByteValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_UByteValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.UByteValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_UByteValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_UByteValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_UByteValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_UByteValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UShortValue __pyx_vtable_5uamqp_7c_uamqp_UShortValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UShortValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_UShortValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_UShortValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11UShortValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11UShortValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_UShortValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11UShortValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11UShortValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11UShortValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_UShortValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_11UShortValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_UShortValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.UShortValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_UShortValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_UShortValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_UShortValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_UShortValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UIntValue __pyx_vtable_5uamqp_7c_uamqp_UIntValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UIntValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_UIntValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_UIntValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9UIntValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9UIntValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_UIntValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UIntValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UIntValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UIntValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_UIntValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9UIntValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_UIntValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.UIntValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_UIntValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_UIntValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_UIntValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_UIntValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ULongValue __pyx_vtable_5uamqp_7c_uamqp_ULongValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ULongValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_ULongValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_ULongValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10ULongValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10ULongValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_ULongValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ULongValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ULongValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ULongValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_ULongValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_10ULongValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_ULongValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.ULongValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_ULongValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_ULongValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_ULongValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_ULongValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ByteValue __pyx_vtable_5uamqp_7c_uamqp_ByteValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ByteValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_ByteValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_ByteValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9ByteValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9ByteValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_ByteValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ByteValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ByteValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ByteValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_ByteValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9ByteValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_ByteValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.ByteValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_ByteValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_ByteValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_ByteValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_ByteValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ShortValue __pyx_vtable_5uamqp_7c_uamqp_ShortValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ShortValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_ShortValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_ShortValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10ShortValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10ShortValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_ShortValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ShortValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ShortValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ShortValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_ShortValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_10ShortValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_ShortValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.ShortValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_ShortValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_ShortValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_ShortValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_ShortValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_IntValue __pyx_vtable_5uamqp_7c_uamqp_IntValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_IntValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_IntValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_IntValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_IntValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8IntValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8IntValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_IntValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8IntValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8IntValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8IntValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_IntValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_8IntValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_IntValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.IntValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_IntValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_IntValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_IntValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_IntValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_LongValue __pyx_vtable_5uamqp_7c_uamqp_LongValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_LongValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_LongValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_LongValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_LongValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9LongValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9LongValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_LongValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9LongValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9LongValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9LongValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_LongValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9LongValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_LongValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.LongValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_LongValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_LongValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_LongValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_LongValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_FloatValue __pyx_vtable_5uamqp_7c_uamqp_FloatValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_FloatValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_FloatValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_FloatValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10FloatValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10FloatValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_FloatValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10FloatValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10FloatValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10FloatValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_FloatValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_10FloatValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_FloatValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.FloatValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_FloatValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_FloatValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_FloatValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_FloatValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DoubleValue __pyx_vtable_5uamqp_7c_uamqp_DoubleValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DoubleValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_DoubleValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11DoubleValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_DoubleValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11DoubleValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_DoubleValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_11DoubleValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_DoubleValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.DoubleValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_DoubleValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_DoubleValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_DoubleValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_DoubleValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CharValue __pyx_vtable_5uamqp_7c_uamqp_CharValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CharValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_CharValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_CharValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_CharValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9CharValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9CharValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_CharValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9CharValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9CharValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9CharValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_CharValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9CharValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_CharValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.CharValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_CharValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_CharValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_CharValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_CharValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TimestampValue __pyx_vtable_5uamqp_7c_uamqp_TimestampValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TimestampValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_TimestampValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_14TimestampValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_TimestampValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14TimestampValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_TimestampValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_14TimestampValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_TimestampValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.TimestampValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_TimestampValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_TimestampValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_TimestampValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_TimestampValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_UUIDValue __pyx_vtable_5uamqp_7c_uamqp_UUIDValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_UUIDValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_UUIDValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9UUIDValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_UUIDValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9UUIDValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_UUIDValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9UUIDValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_UUIDValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.UUIDValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_UUIDValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_UUIDValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_UUIDValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_UUIDValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_BinaryValue __pyx_vtable_5uamqp_7c_uamqp_BinaryValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_BinaryValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_BinaryValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11BinaryValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_BinaryValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11BinaryValue_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_BinaryValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_11BinaryValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_BinaryValue = {
  __pyx_pw_5uamqp_7c_uamqp_11BinaryValue_3__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_BinaryValue = {
  __pyx_pw_5uamqp_7c_uamqp_11BinaryValue_3__len__, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_BinaryValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.BinaryValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_BinaryValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_BinaryValue, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_BinaryValue, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_BinaryValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_BinaryValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_BinaryValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_StringValue __pyx_vtable_5uamqp_7c_uamqp_StringValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_StringValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_StringValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_StringValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_StringValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11StringValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11StringValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_StringValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11StringValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11StringValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11StringValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_StringValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_11StringValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_StringValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.StringValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_StringValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_StringValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_StringValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_StringValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SymbolValue __pyx_vtable_5uamqp_7c_uamqp_SymbolValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SymbolValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_SymbolValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11SymbolValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_SymbolValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11SymbolValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_SymbolValue[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_11SymbolValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_SymbolValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.SymbolValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_SymbolValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_SymbolValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_SymbolValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_SymbolValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ListValue __pyx_vtable_5uamqp_7c_uamqp_ListValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ListValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_ListValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_ListValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_ListValue;
  return o;
}
static PyObject *__pyx_sq_item_5uamqp_7c_uamqp_ListValue(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_5uamqp_7c_uamqp_ListValue(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_9ListValue_7__setitem__(o, i, v);
  }
  else {
    if (__pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping && __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript)
      return __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript(o, i, v);
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9ListValue_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_9ListValue_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_9ListValue_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9ListValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9ListValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_ListValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ListValue_1create, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ListValue_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9ListValue_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_ListValue[] = {
  {(char *)"size", __pyx_getprop_5uamqp_7c_uamqp_9ListValue_size, __pyx_setprop_5uamqp_7c_uamqp_9ListValue_size, (char *)0, 0},
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9ListValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_ListValue = {
  __pyx_pw_5uamqp_7c_uamqp_9ListValue_3__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_5uamqp_7c_uamqp_ListValue, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_ListValue = {
  __pyx_pw_5uamqp_7c_uamqp_9ListValue_3__len__, /*mp_length*/
  __pyx_pw_5uamqp_7c_uamqp_9ListValue_5__getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_5uamqp_7c_uamqp_ListValue, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_ListValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.ListValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_ListValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_ListValue, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_ListValue, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_ListValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_ListValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_ListValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DictValue __pyx_vtable_5uamqp_7c_uamqp_DictValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DictValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_DictValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_DictValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_DictValue;
  return o;
}
static PyObject *__pyx_sq_item_5uamqp_7c_uamqp_DictValue(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_5uamqp_7c_uamqp_DictValue(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_9DictValue_7__setitem__(o, i, v);
  }
  else {
    if (__pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping && __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript)
      return __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript(o, i, v);
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9DictValue_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9DictValue_4size_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_9DictValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_9DictValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_DictValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9DictValue_1create, METH_NOARGS, 0},
  {"get", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9DictValue_9get, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9DictValue_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9DictValue_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_DictValue[] = {
  {(char *)"size", __pyx_getprop_5uamqp_7c_uamqp_9DictValue_size, 0, (char *)0, 0},
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_9DictValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_DictValue = {
  __pyx_pw_5uamqp_7c_uamqp_9DictValue_3__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_5uamqp_7c_uamqp_DictValue, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_DictValue = {
  __pyx_pw_5uamqp_7c_uamqp_9DictValue_3__len__, /*mp_length*/
  __pyx_pw_5uamqp_7c_uamqp_9DictValue_5__getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_5uamqp_7c_uamqp_DictValue, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_DictValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.DictValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_DictValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_DictValue, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_DictValue, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_DictValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_DictValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_DictValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_ArrayValue __pyx_vtable_5uamqp_7c_uamqp_ArrayValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_ArrayValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_ArrayValue;
  return o;
}
static PyObject *__pyx_sq_item_5uamqp_7c_uamqp_ArrayValue(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10ArrayValue_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_4size_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10ArrayValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_ArrayValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_1create, METH_NOARGS, 0},
  {"append", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_7append, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10ArrayValue_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_ArrayValue[] = {
  {(char *)"size", __pyx_getprop_5uamqp_7c_uamqp_10ArrayValue_size, 0, (char *)0, 0},
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_10ArrayValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_ArrayValue = {
  __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_3__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_5uamqp_7c_uamqp_ArrayValue, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_ArrayValue = {
  __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_3__len__, /*mp_length*/
  __pyx_pw_5uamqp_7c_uamqp_10ArrayValue_5__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_ArrayValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.ArrayValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_ArrayValue, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_ArrayValue, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_ArrayValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_ArrayValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_ArrayValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CompositeValue __pyx_vtable_5uamqp_7c_uamqp_CompositeValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CompositeValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_CompositeValue;
  return o;
}
static PyObject *__pyx_sq_item_5uamqp_7c_uamqp_CompositeValue(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_5uamqp_7c_uamqp_CompositeValue(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_9__setitem__(o, i, v);
  }
  else {
    if (__pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping && __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript)
      return __pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_as_mapping->mp_ass_subscript(o, i, v);
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_14CompositeValue_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_4size_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_CompositeValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_1create, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_from_long", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_3create_from_long, METH_O, 0},
  {"pop", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_11pop, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14CompositeValue_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_CompositeValue[] = {
  {(char *)"size", __pyx_getprop_5uamqp_7c_uamqp_14CompositeValue_size, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_CompositeValue = {
  __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_5__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_5uamqp_7c_uamqp_CompositeValue, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_CompositeValue = {
  __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_5__len__, /*mp_length*/
  __pyx_pw_5uamqp_7c_uamqp_14CompositeValue_7__getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_5uamqp_7c_uamqp_CompositeValue, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_CompositeValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.CompositeValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_CompositeValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_CompositeValue, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_CompositeValue, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_CompositeValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_CompositeValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_CompositeValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_DescribedValue __pyx_vtable_5uamqp_7c_uamqp_DescribedValue;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_DescribedValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_AMQPValue(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_AMQPValue*)__pyx_vtabptr_5uamqp_7c_uamqp_DescribedValue;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_description(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_14DescribedValue_11description_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_14DescribedValue_4data_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5value_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_DescribedValue[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_1create, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14DescribedValue_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_DescribedValue[] = {
  {(char *)"description", __pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_description, 0, (char *)0, 0},
  {(char *)"data", __pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_data, 0, (char *)0, 0},
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_14DescribedValue_value, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_DescribedValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.DescribedValue", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_DescribedValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_AMQPValue, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_5uamqp_7c_uamqp_9AMQPValue_11__str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_DescribedValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_DescribedValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_DescribedValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations __pyx_vtable_5uamqp_7c_uamqp_cAnnotations;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_12cAnnotations_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5value_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_12cAnnotations_map(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_12cAnnotations_3map_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cAnnotations[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_5destroy, METH_NOARGS, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_7clone, METH_NOARGS, 0},
  {"get_encoded_size", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_9get_encoded_size, METH_NOARGS, 0},
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_11create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12cAnnotations_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cAnnotations[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_12cAnnotations_value, 0, (char *)0, 0},
  {(char *)"map", __pyx_getprop_5uamqp_7c_uamqp_12cAnnotations_map, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cAnnotations = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cAnnotations", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cAnnotations, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cAnnotations, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cApplicationProperties __pyx_vtable_5uamqp_7c_uamqp_cApplicationProperties;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cApplicationProperties(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations*)__pyx_vtabptr_5uamqp_7c_uamqp_cApplicationProperties;
  return o;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_22cApplicationProperties_map(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3map_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cApplicationProperties[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22cApplicationProperties_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cApplicationProperties[] = {
  {(char *)"map", __pyx_getprop_5uamqp_7c_uamqp_22cApplicationProperties_map, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cApplicationProperties = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cApplicationProperties", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cApplicationProperties), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cApplicationProperties, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cApplicationProperties, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cApplicationProperties, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cDeliveryAnnotations __pyx_vtable_5uamqp_7c_uamqp_cDeliveryAnnotations;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cDeliveryAnnotations(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations*)__pyx_vtabptr_5uamqp_7c_uamqp_cDeliveryAnnotations;
  return o;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cDeliveryAnnotations[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_20cDeliveryAnnotations_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cDeliveryAnnotations", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cDeliveryAnnotations), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cDeliveryAnnotations, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cDeliveryAnnotations, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageAnnotations __pyx_vtable_5uamqp_7c_uamqp_cMessageAnnotations;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageAnnotations(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations*)__pyx_vtabptr_5uamqp_7c_uamqp_cMessageAnnotations;
  return o;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cMessageAnnotations[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_19cMessageAnnotations_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cMessageAnnotations = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cMessageAnnotations", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cMessageAnnotations), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cMessageAnnotations, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cMessageAnnotations, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFields __pyx_vtable_5uamqp_7c_uamqp_cFields;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cFields(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cFields *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cFields *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations*)__pyx_vtabptr_5uamqp_7c_uamqp_cFields;
  return o;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cFields[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFields_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFields_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFields_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cFields = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cFields", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cFields), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cFields, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cFields, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cFooter __pyx_vtable_5uamqp_7c_uamqp_cFooter;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cFooter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cFooter *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_cAnnotations(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cFooter *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5uamqp_7c_uamqp_cAnnotations*)__pyx_vtabptr_5uamqp_7c_uamqp_cFooter;
  return o;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cFooter[] = {
  {"create", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFooter_1create, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFooter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cFooter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cFooter = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cFooter", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cFooter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cAnnotations, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cFooter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cFooter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_AsyncOperation __pyx_vtable_5uamqp_7c_uamqp_AsyncOperation;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_AsyncOperation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_AsyncOperation;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_AsyncOperation[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_3destroy, METH_NOARGS, 0},
  {"cancel", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_5cancel, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14AsyncOperation_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_AsyncOperation = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.AsyncOperation", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_AsyncOperation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_AsyncOperation, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TickCounter __pyx_vtable_5uamqp_7c_uamqp_TickCounter;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TickCounter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_TickCounter;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_11TickCounter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_TickCounter(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_11TickCounter_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_TickCounter[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_5destroy, METH_NOARGS, 0},
  {"get_current_ms", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_7get_current_ms, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TickCounter_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_TickCounter = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.TickCounter", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_TickCounter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_TickCounter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_TickCounter, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_CBSTokenAuth __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_CBSTokenAuth(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_CBSTokenAuth;
  p->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_CBSTokenAuth(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *p = (struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_session);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_CBSTokenAuth(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *p = (struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)o;
  if (p->_session) {
    e = (*v)(((PyObject *)p->_session), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_CBSTokenAuth(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *p = (struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *)o;
  tmp = ((PyObject*)p->_session);
  p->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_CBSTokenAuth[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_5destroy, METH_NOARGS, 0},
  {"close", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_7close, METH_NOARGS, 0},
  {"set_trace", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_9set_trace, METH_O, 0},
  {"authenticate", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_11authenticate, METH_NOARGS, 0},
  {"get_status", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_13get_status, METH_NOARGS, 0},
  {"get_failure_info", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_15get_failure_info, METH_NOARGS, 0},
  {"refresh", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_17refresh, METH_VARARGS|METH_KEYWORDS, 0},
  {"_update_status", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_19_update_status, METH_NOARGS, 0},
  {"_check_put_timeout_status", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_21_check_put_timeout_status, METH_NOARGS, 0},
  {"_check_expiration_and_refresh_status", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_23_check_expiration_and_refresh_status, METH_NOARGS, 0},
  {"_cbs_open_complete", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_25_cbs_open_complete, METH_O, 0},
  {"on_cbs_open_complete", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_27on_cbs_open_complete, METH_O, 0},
  {"_cbs_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_29_cbs_error, METH_NOARGS, 0},
  {"on_cbs_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_31on_cbs_error, METH_NOARGS, 0},
  {"_cbs_put_token_compelete", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_33_cbs_put_token_compelete, METH_VARARGS|METH_KEYWORDS, 0},
  {"on_cbs_put_token_complete", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_35on_cbs_put_token_complete, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_37__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_12CBSTokenAuth_39__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_CBSTokenAuth = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.CBSTokenAuth", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_CBSTokenAuth, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_CBSTokenAuth, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_CBSTokenAuth, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_CBSTokenAuth, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_CBSTokenAuth, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_Connection __pyx_vtable_5uamqp_7c_uamqp_Connection;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_Connection(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_Connection;
  p->_sasl_client = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_10Connection_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_Connection(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *p = (struct __pyx_obj_5uamqp_7c_uamqp_Connection *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_10Connection_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_sasl_client);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_Connection(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *p = (struct __pyx_obj_5uamqp_7c_uamqp_Connection *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_Connection)); if (e) return e;
  if (p->_sasl_client) {
    e = (*v)(((PyObject *)p->_sasl_client), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_Connection(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_Connection *p = (struct __pyx_obj_5uamqp_7c_uamqp_Connection *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_Connection);
  tmp = ((PyObject*)p->_sasl_client);
  p->_sasl_client = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10Connection_max_frame_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10Connection_max_frame_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10Connection_14max_frame_size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10Connection_channel_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10Connection_channel_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10Connection_11channel_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10Connection_idle_timeout(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10Connection_idle_timeout(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10Connection_12idle_timeout_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10Connection_properties(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10Connection_properties(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10Connection_10properties_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10Connection_remote_max_frame_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10Connection_21remote_max_frame_size_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_Connection[] = {
  {"__enter__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_5__enter__, METH_NOARGS, 0},
  {"__exit__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_7__exit__, METH_VARARGS|METH_KEYWORDS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_9destroy, METH_NOARGS, 0},
  {"open", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_11open, METH_NOARGS, 0},
  {"close", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_13close, METH_VARARGS|METH_KEYWORDS, 0},
  {"set_trace", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_15set_trace, METH_O, 0},
  {"do_work", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_17do_work, METH_NOARGS, 0},
  {"subscribe_to_close_event", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_19subscribe_to_close_event, METH_O, 0},
  {"unsubscribe_to_close_event", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_21unsubscribe_to_close_event, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_23__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10Connection_25__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_Connection[] = {
  {(char *)"max_frame_size", __pyx_getprop_5uamqp_7c_uamqp_10Connection_max_frame_size, __pyx_setprop_5uamqp_7c_uamqp_10Connection_max_frame_size, (char *)0, 0},
  {(char *)"channel_max", __pyx_getprop_5uamqp_7c_uamqp_10Connection_channel_max, __pyx_setprop_5uamqp_7c_uamqp_10Connection_channel_max, (char *)0, 0},
  {(char *)"idle_timeout", __pyx_getprop_5uamqp_7c_uamqp_10Connection_idle_timeout, __pyx_setprop_5uamqp_7c_uamqp_10Connection_idle_timeout, (char *)0, 0},
  {(char *)"properties", __pyx_getprop_5uamqp_7c_uamqp_10Connection_properties, __pyx_setprop_5uamqp_7c_uamqp_10Connection_properties, (char *)0, 0},
  {(char *)"remote_max_frame_size", __pyx_getprop_5uamqp_7c_uamqp_10Connection_remote_max_frame_size, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_Connection = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.Connection", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_Connection), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_Connection, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_Connection, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_Connection, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_Connection, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_Connection, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_Connection, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cError __pyx_vtable_5uamqp_7c_uamqp_cError;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cError(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cError *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cError *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cError;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_6cError_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cError(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_6cError_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_6cError_condition(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_6cError_9condition_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_6cError_condition(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_6cError_9condition_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_6cError_description(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_6cError_11description_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_6cError_description(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_6cError_11description_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_6cError_info(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_6cError_4info_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_6cError_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_6cError_4info_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cError[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_6cError_5destroy, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_6cError_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_6cError_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cError[] = {
  {(char *)"condition", __pyx_getprop_5uamqp_7c_uamqp_6cError_condition, __pyx_setprop_5uamqp_7c_uamqp_6cError_condition, (char *)0, 0},
  {(char *)"description", __pyx_getprop_5uamqp_7c_uamqp_6cError_description, __pyx_setprop_5uamqp_7c_uamqp_6cError_description, (char *)0, 0},
  {(char *)"info", __pyx_getprop_5uamqp_7c_uamqp_6cError_info, __pyx_setprop_5uamqp_7c_uamqp_6cError_info, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cError = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cError", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cError), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cError, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cError, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cError, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cError, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cHeader __pyx_vtable_5uamqp_7c_uamqp_cHeader;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cHeader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cHeader *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cHeader *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cHeader;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_7cHeader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cHeader(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_7cHeader_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cHeader_delivery_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cHeader_delivery_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cHeader_14delivery_count_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cHeader_time_to_live(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cHeader_time_to_live(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cHeader_12time_to_live_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cHeader_durable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cHeader_durable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cHeader_7durable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cHeader_first_acquirer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cHeader_first_acquirer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cHeader_14first_acquirer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cHeader_priority(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cHeader_priority(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cHeader_8priority_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cHeader[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_5destroy, METH_NOARGS, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_7clone, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cHeader_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cHeader[] = {
  {(char *)"delivery_count", __pyx_getprop_5uamqp_7c_uamqp_7cHeader_delivery_count, __pyx_setprop_5uamqp_7c_uamqp_7cHeader_delivery_count, (char *)0, 0},
  {(char *)"time_to_live", __pyx_getprop_5uamqp_7c_uamqp_7cHeader_time_to_live, __pyx_setprop_5uamqp_7c_uamqp_7cHeader_time_to_live, (char *)0, 0},
  {(char *)"durable", __pyx_getprop_5uamqp_7c_uamqp_7cHeader_durable, __pyx_setprop_5uamqp_7c_uamqp_7cHeader_durable, (char *)0, 0},
  {(char *)"first_acquirer", __pyx_getprop_5uamqp_7c_uamqp_7cHeader_first_acquirer, __pyx_setprop_5uamqp_7c_uamqp_7cHeader_first_acquirer, (char *)0, 0},
  {(char *)"priority", __pyx_getprop_5uamqp_7c_uamqp_7cHeader_priority, __pyx_setprop_5uamqp_7c_uamqp_7cHeader_priority, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cHeader = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cHeader", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cHeader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cHeader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cHeader, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cHeader, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cHeader, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cLink __pyx_vtable_5uamqp_7c_uamqp_cLink;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cLink(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cLink;
  p->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_5cLink_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cLink(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *p = (struct __pyx_obj_5uamqp_7c_uamqp_cLink *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_5cLink_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_session);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_cLink(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *p = (struct __pyx_obj_5uamqp_7c_uamqp_cLink *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_cLink)); if (e) return e;
  if (p->_session) {
    e = (*v)(((PyObject *)p->_session), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_cLink(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_cLink *p = (struct __pyx_obj_5uamqp_7c_uamqp_cLink *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_cLink);
  tmp = ((PyObject*)p->_session);
  p->_session = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_send_settle_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_5cLink_send_settle_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_5cLink_16send_settle_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_receive_settle_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_5cLink_receive_settle_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_5cLink_19receive_settle_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_max_message_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_5cLink_max_message_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_5cLink_16max_message_size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_initial_delivery_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_5cLink_initial_delivery_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_5cLink_22initial_delivery_count_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_peer_max_message_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_21peer_max_message_size_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_4name_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_5cLink_desired_capabilities(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_5cLink_20desired_capabilities_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cLink[] = {
  {"__enter__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_5__enter__, METH_NOARGS, 0},
  {"__exit__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_7__exit__, METH_VARARGS|METH_KEYWORDS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_9destroy, METH_NOARGS, 0},
  {"subscribe_to_detach_event", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_11subscribe_to_detach_event, METH_O, 0},
  {"unsubscribe_to_detach_event", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_13unsubscribe_to_detach_event, METH_NOARGS, 0},
  {"do_work", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_15do_work, METH_NOARGS, 0},
  {"set_prefetch_count", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_17set_prefetch_count, METH_O, 0},
  {"set_attach_properties", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_19set_attach_properties, METH_O, 0},
  {"set_desired_capabilities", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_21set_desired_capabilities, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_23__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5cLink_25__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cLink[] = {
  {(char *)"send_settle_mode", __pyx_getprop_5uamqp_7c_uamqp_5cLink_send_settle_mode, __pyx_setprop_5uamqp_7c_uamqp_5cLink_send_settle_mode, (char *)0, 0},
  {(char *)"receive_settle_mode", __pyx_getprop_5uamqp_7c_uamqp_5cLink_receive_settle_mode, __pyx_setprop_5uamqp_7c_uamqp_5cLink_receive_settle_mode, (char *)0, 0},
  {(char *)"max_message_size", __pyx_getprop_5uamqp_7c_uamqp_5cLink_max_message_size, __pyx_setprop_5uamqp_7c_uamqp_5cLink_max_message_size, (char *)0, 0},
  {(char *)"initial_delivery_count", __pyx_getprop_5uamqp_7c_uamqp_5cLink_initial_delivery_count, __pyx_setprop_5uamqp_7c_uamqp_5cLink_initial_delivery_count, (char *)0, 0},
  {(char *)"peer_max_message_size", __pyx_getprop_5uamqp_7c_uamqp_5cLink_peer_max_message_size, 0, (char *)0, 0},
  {(char *)"name", __pyx_getprop_5uamqp_7c_uamqp_5cLink_name, 0, (char *)0, 0},
  {(char *)"desired_capabilities", __pyx_getprop_5uamqp_7c_uamqp_5cLink_desired_capabilities, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cLink = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cLink", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cLink), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cLink, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_cLink, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_cLink, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cLink, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cLink, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cLink, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessage __pyx_vtable_5uamqp_7c_uamqp_cMessage;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessage(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessage *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessage *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cMessage;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_8cMessage_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessage(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_8cMessage_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_header(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_header(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_6header_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_delivery_annotations(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_delivery_annotations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_20delivery_annotations_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_message_annotations(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_message_annotations(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_19message_annotations_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_properties(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_properties(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_10properties_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_application_properties(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_application_properties(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_22application_properties_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_footer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_footer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_6footer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_body_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_9body_type_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_message_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cMessage_message_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cMessage_14message_format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cMessage_delivery_tag(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cMessage_12delivery_tag_1__get__(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cMessage[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_5destroy, METH_NOARGS, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_7clone, METH_NOARGS, 0},
  {"add_body_data", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_9add_body_data, METH_O, 0},
  {"get_body_data", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_11get_body_data, METH_O, 0},
  {"count_body_data", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_13count_body_data, METH_NOARGS, 0},
  {"set_body_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_15set_body_value, METH_O, 0},
  {"get_body_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_17get_body_value, METH_NOARGS, 0},
  {"add_body_sequence", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_19add_body_sequence, METH_O, 0},
  {"get_body_sequence", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_21get_body_sequence, METH_O, 0},
  {"count_body_sequence", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_23count_body_sequence, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_25__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cMessage_27__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cMessage[] = {
  {(char *)"header", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_header, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_header, (char *)0, 0},
  {(char *)"delivery_annotations", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_delivery_annotations, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_delivery_annotations, (char *)0, 0},
  {(char *)"message_annotations", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_message_annotations, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_message_annotations, (char *)0, 0},
  {(char *)"properties", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_properties, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_properties, (char *)0, 0},
  {(char *)"application_properties", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_application_properties, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_application_properties, (char *)0, 0},
  {(char *)"footer", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_footer, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_footer, (char *)0, 0},
  {(char *)"body_type", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_body_type, 0, (char *)0, 0},
  {(char *)"message_format", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_message_format, __pyx_setprop_5uamqp_7c_uamqp_8cMessage_message_format, (char *)0, 0},
  {(char *)"delivery_tag", __pyx_getprop_5uamqp_7c_uamqp_8cMessage_delivery_tag, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cMessage = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cMessage", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cMessage), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessage, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cMessage, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cMessage, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cMessage, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_Messaging(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_Messaging(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_Messaging[] = {
  {"create_source", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_1create_source, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_target", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_3create_target, METH_VARARGS|METH_KEYWORDS, 0},
  {"delivery_received", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_5delivery_received, METH_VARARGS|METH_KEYWORDS, 0},
  {"delivery_accepted", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_7delivery_accepted, METH_VARARGS|METH_KEYWORDS, 0},
  {"delivery_rejected", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_9delivery_rejected, METH_VARARGS|METH_KEYWORDS, 0},
  {"delivery_released", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_11delivery_released, METH_VARARGS|METH_KEYWORDS, 0},
  {"delivery_modified", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_13delivery_modified, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9Messaging_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_Messaging = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.Messaging", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_Messaging), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_Messaging, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_Messaging, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_Messaging, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageDecoder(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageDecoder(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cMessageDecoder[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15cMessageDecoder_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cMessageDecoder = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cMessageDecoder", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cMessageDecoder), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageDecoder, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cMessageDecoder, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cMessageDecoder, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageReceiver __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageReceiver(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cMessageReceiver;
  p->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageReceiver(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_link);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageReceiver(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageReceiver)); if (e) return e;
  if (p->_link) {
    e = (*v)(((PyObject *)p->_link), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_cMessageReceiver(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_cMessageReceiver);
  tmp = ((PyObject*)p->_link);
  p->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cMessageReceiver[] = {
  {"open", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_5open, METH_O, 0},
  {"close", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_7close, METH_NOARGS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_9destroy, METH_NOARGS, 0},
  {"last_received_message_number", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_11last_received_message_number, METH_NOARGS, 0},
  {"settle_accepted_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_13settle_accepted_message, METH_O, 0},
  {"settle_released_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_15settle_released_message, METH_O, 0},
  {"settle_rejected_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_17settle_rejected_message, METH_VARARGS|METH_KEYWORDS, 0},
  {"settle_modified_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_19settle_modified_message, METH_VARARGS|METH_KEYWORDS, 0},
  {"set_trace", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_21set_trace, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_23__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_16cMessageReceiver_25__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cMessageReceiver = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cMessageReceiver", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageReceiver, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageReceiver, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_cMessageReceiver, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cMessageReceiver, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cMessageReceiver, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cMessageSender __pyx_vtable_5uamqp_7c_uamqp_cMessageSender;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cMessageSender(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cMessageSender;
  p->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageSender(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_14cMessageSender_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_link);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageSender(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageSender)); if (e) return e;
  if (p->_link) {
    e = (*v)(((PyObject *)p->_link), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_cMessageSender(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *p = (struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_cMessageSender);
  tmp = ((PyObject*)p->_link);
  p->_link = ((struct __pyx_obj_5uamqp_7c_uamqp_cLink *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cMessageSender[] = {
  {"__enter__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_5__enter__, METH_NOARGS, 0},
  {"__exit__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_7__exit__, METH_VARARGS|METH_KEYWORDS, 0},
  {"open", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_9open, METH_NOARGS, 0},
  {"close", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_11close, METH_NOARGS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_13destroy, METH_NOARGS, 0},
  {"send", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_15send, METH_VARARGS|METH_KEYWORDS, 0},
  {"set_trace", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_17set_trace, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_19__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_14cMessageSender_21__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cMessageSender = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cMessageSender", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cMessageSender, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_cMessageSender, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_cMessageSender, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cMessageSender, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cMessageSender, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cProperties __pyx_vtable_5uamqp_7c_uamqp_cProperties;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cProperties(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cProperties *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cProperties *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cProperties;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_11cProperties_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cProperties(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_11cProperties_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_message_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_message_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_10message_id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_user_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_user_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_7user_id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_to(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_to(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_2to_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_subject(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_subject(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_7subject_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_reply_to(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_reply_to(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_8reply_to_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_correlation_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_correlation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_14correlation_id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_content_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_content_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_12content_type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_content_encoding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_content_encoding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_16content_encoding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_absolute_expiry_time(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_absolute_expiry_time(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_20absolute_expiry_time_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_creation_time(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_creation_time(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_13creation_time_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_group_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_group_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_8group_id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_group_sequence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_group_sequence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_14group_sequence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11cProperties_reply_to_group_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11cProperties_reply_to_group_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11cProperties_17reply_to_group_id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cProperties[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_5destroy, METH_NOARGS, 0},
  {"clone", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_7clone, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11cProperties_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cProperties[] = {
  {(char *)"message_id", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_message_id, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_message_id, (char *)0, 0},
  {(char *)"user_id", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_user_id, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_user_id, (char *)0, 0},
  {(char *)"to", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_to, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_to, (char *)0, 0},
  {(char *)"subject", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_subject, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_subject, (char *)0, 0},
  {(char *)"reply_to", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_reply_to, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_reply_to, (char *)0, 0},
  {(char *)"correlation_id", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_correlation_id, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_correlation_id, (char *)0, 0},
  {(char *)"content_type", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_content_type, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_content_type, (char *)0, 0},
  {(char *)"content_encoding", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_content_encoding, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_content_encoding, (char *)0, 0},
  {(char *)"absolute_expiry_time", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_absolute_expiry_time, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_absolute_expiry_time, (char *)0, 0},
  {(char *)"creation_time", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_creation_time, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_creation_time, (char *)0, 0},
  {(char *)"group_id", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_group_id, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_group_id, (char *)0, 0},
  {(char *)"group_sequence", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_group_sequence, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_group_sequence, (char *)0, 0},
  {(char *)"reply_to_group_id", __pyx_getprop_5uamqp_7c_uamqp_11cProperties_reply_to_group_id, __pyx_setprop_5uamqp_7c_uamqp_11cProperties_reply_to_group_id, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cProperties = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cProperties", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cProperties), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cProperties, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cProperties, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cProperties, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cProperties, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanism __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLMechanism(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanism;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLMechanism(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_SASLMechanism[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_5destroy, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_13SASLMechanism_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_SASLMechanism = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.SASLMechanism", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLMechanism, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_SASLMechanism, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_SASLMechanism, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription __pyx_vtable_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.SASLMechanismInterfaceDescription", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLClientIOConfig(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)o);
  p->_underlying_io = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLClientIOConfig(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *p = (struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_underlying_io);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_SASLClientIOConfig(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *p = (struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)o;
  if (p->_underlying_io) {
    e = (*v)(((PyObject *)p->_underlying_io), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_SASLClientIOConfig(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *p = (struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig *)o;
  tmp = ((PyObject*)p->_underlying_io);
  p->_underlying_io = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_SASLClientIOConfig[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_18SASLClientIOConfig_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.SASLClientIOConfig", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_SASLClientIOConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLClientIOConfig, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_SASLClientIOConfig, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_SASLClientIOConfig, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_SASLClientIOConfig, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_SASLClientIOConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_SASLPlainConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLPlainConfig(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_authcid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_authcid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authcid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_passwd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_passwd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_6passwd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_authzid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_authzid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_7authzid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_SASLPlainConfig[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15SASLPlainConfig_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_SASLPlainConfig[] = {
  {(char *)"authcid", __pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_authcid, __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_authcid, (char *)0, 0},
  {(char *)"passwd", __pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_passwd, __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_passwd, (char *)0, 0},
  {(char *)"authzid", __pyx_getprop_5uamqp_7c_uamqp_15SASLPlainConfig_authzid, __pyx_setprop_5uamqp_7c_uamqp_15SASLPlainConfig_authzid, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_SASLPlainConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.SASLPlainConfig", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_SASLPlainConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_SASLPlainConfig, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_SASLPlainConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_SASLPlainConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_SASLPlainConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSession __pyx_vtable_5uamqp_7c_uamqp_cSession;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cSession(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cSession *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cSession;
  p->_connection = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_8cSession_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cSession(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *p = (struct __pyx_obj_5uamqp_7c_uamqp_cSession *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_8cSession_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_connection);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_cSession(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *p = (struct __pyx_obj_5uamqp_7c_uamqp_cSession *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_cSession)); if (e) return e;
  if (p->_connection) {
    e = (*v)(((PyObject *)p->_connection), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_cSession(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_cSession *p = (struct __pyx_obj_5uamqp_7c_uamqp_cSession *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_cSession);
  tmp = ((PyObject*)p->_connection);
  p->_connection = ((struct __pyx_obj_5uamqp_7c_uamqp_Connection *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cSession_incoming_window(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cSession_incoming_window(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cSession_15incoming_window_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cSession_outgoing_window(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cSession_outgoing_window(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cSession_15outgoing_window_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_8cSession_handle_max(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_8cSession_handle_max(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_8cSession_10handle_max_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cSession[] = {
  {"__enter__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_5__enter__, METH_NOARGS, 0},
  {"__exit__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_7__exit__, METH_VARARGS|METH_KEYWORDS, 0},
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_9destroy, METH_NOARGS, 0},
  {"begin", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_11begin, METH_NOARGS, 0},
  {"end", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_13end, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_8cSession_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cSession[] = {
  {(char *)"incoming_window", __pyx_getprop_5uamqp_7c_uamqp_8cSession_incoming_window, __pyx_setprop_5uamqp_7c_uamqp_8cSession_incoming_window, (char *)0, 0},
  {(char *)"outgoing_window", __pyx_getprop_5uamqp_7c_uamqp_8cSession_outgoing_window, __pyx_setprop_5uamqp_7c_uamqp_8cSession_outgoing_window, (char *)0, 0},
  {(char *)"handle_max", __pyx_getprop_5uamqp_7c_uamqp_8cSession_handle_max, __pyx_setprop_5uamqp_7c_uamqp_8cSession_handle_max, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cSession = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cSession", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cSession), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cSession, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_cSession, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_cSession, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cSession, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cSession, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cSession, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cSource __pyx_vtable_5uamqp_7c_uamqp_cSource;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cSource(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cSource *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cSource *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cSource;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_7cSource_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cSource(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_7cSource_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_5value_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_7address_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_durable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_durable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_7durable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_expiry_policy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_expiry_policy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_13expiry_policy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_timeout(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_timeout(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_7timeout_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_dynamic(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_dynamic(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_7dynamic_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_dynamic_node_properties(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_dynamic_node_properties(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_23dynamic_node_properties_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_distribution_mode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_distribution_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_17distribution_mode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cSource_filter_set(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cSource_filter_set(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cSource_10filter_set_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cSource[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cSource_5destroy, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cSource_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cSource_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cSource[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_7cSource_value, 0, (char *)0, 0},
  {(char *)"address", __pyx_getprop_5uamqp_7c_uamqp_7cSource_address, __pyx_setprop_5uamqp_7c_uamqp_7cSource_address, (char *)0, 0},
  {(char *)"durable", __pyx_getprop_5uamqp_7c_uamqp_7cSource_durable, __pyx_setprop_5uamqp_7c_uamqp_7cSource_durable, (char *)0, 0},
  {(char *)"expiry_policy", __pyx_getprop_5uamqp_7c_uamqp_7cSource_expiry_policy, __pyx_setprop_5uamqp_7c_uamqp_7cSource_expiry_policy, (char *)0, 0},
  {(char *)"timeout", __pyx_getprop_5uamqp_7c_uamqp_7cSource_timeout, __pyx_setprop_5uamqp_7c_uamqp_7cSource_timeout, (char *)0, 0},
  {(char *)"dynamic", __pyx_getprop_5uamqp_7c_uamqp_7cSource_dynamic, __pyx_setprop_5uamqp_7c_uamqp_7cSource_dynamic, (char *)0, 0},
  {(char *)"dynamic_node_properties", __pyx_getprop_5uamqp_7c_uamqp_7cSource_dynamic_node_properties, __pyx_setprop_5uamqp_7c_uamqp_7cSource_dynamic_node_properties, (char *)0, 0},
  {(char *)"distribution_mode", __pyx_getprop_5uamqp_7c_uamqp_7cSource_distribution_mode, __pyx_setprop_5uamqp_7c_uamqp_7cSource_distribution_mode, (char *)0, 0},
  {(char *)"filter_set", __pyx_getprop_5uamqp_7c_uamqp_7cSource_filter_set, __pyx_setprop_5uamqp_7c_uamqp_7cSource_filter_set, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cSource = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cSource", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cSource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cSource, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cSource, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cSource, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cSource, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_cTarget __pyx_vtable_5uamqp_7c_uamqp_cTarget;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_cTarget(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_cTarget *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_cTarget *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_cTarget;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_7cTarget_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_cTarget(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_7cTarget_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_5value_1__get__(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_durable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_durable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7durable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_expiry_policy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_expiry_policy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_13expiry_policy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_timeout(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_timeout(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7timeout_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_dynamic(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_dynamic(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_7dynamic_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_7cTarget_dynamic_node_properties(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_7cTarget_dynamic_node_properties(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_7cTarget_23dynamic_node_properties_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_cTarget[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cTarget_5destroy, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cTarget_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7cTarget_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_cTarget[] = {
  {(char *)"value", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_value, 0, (char *)0, 0},
  {(char *)"address", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_address, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_address, (char *)0, 0},
  {(char *)"durable", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_durable, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_durable, (char *)0, 0},
  {(char *)"expiry_policy", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_expiry_policy, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_expiry_policy, (char *)0, 0},
  {(char *)"timeout", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_timeout, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_timeout, (char *)0, 0},
  {(char *)"dynamic", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_dynamic, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_dynamic, (char *)0, 0},
  {(char *)"dynamic_node_properties", __pyx_getprop_5uamqp_7c_uamqp_7cTarget_dynamic_node_properties, __pyx_setprop_5uamqp_7c_uamqp_7cTarget_dynamic_node_properties, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_cTarget = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.cTarget", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_cTarget), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_cTarget, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_cTarget, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_cTarget, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_cTarget, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_TLSIOConfig __pyx_vtable_5uamqp_7c_uamqp_TLSIOConfig;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_TLSIOConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_TLSIOConfig;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_TLSIOConfig(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11TLSIOConfig_hostname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11TLSIOConfig_hostname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_8hostname_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_11TLSIOConfig_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_11TLSIOConfig_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_4port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_TLSIOConfig[] = {
  {"set_proxy_config", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_3set_proxy_config, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11TLSIOConfig_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_TLSIOConfig[] = {
  {(char *)"hostname", __pyx_getprop_5uamqp_7c_uamqp_11TLSIOConfig_hostname, __pyx_setprop_5uamqp_7c_uamqp_11TLSIOConfig_hostname, (char *)0, 0},
  {(char *)"port", __pyx_getprop_5uamqp_7c_uamqp_11TLSIOConfig_port, __pyx_setprop_5uamqp_7c_uamqp_11TLSIOConfig_port, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_TLSIOConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.TLSIOConfig", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_TLSIOConfig, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_TLSIOConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_TLSIOConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_TLSIOConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_HTTPProxyConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_HTTPProxyConfig(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_hostname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_hostname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8hostname_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_4port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_hostname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_hostname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_14proxy_hostname_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_10proxy_port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_username(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_username(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8username_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_password(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_password(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_8password_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_HTTPProxyConfig[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15HTTPProxyConfig_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_HTTPProxyConfig[] = {
  {(char *)"hostname", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_hostname, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_hostname, (char *)0, 0},
  {(char *)"port", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_port, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_port, (char *)0, 0},
  {(char *)"proxy_hostname", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_hostname, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_hostname, (char *)0, 0},
  {(char *)"proxy_port", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_port, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_proxy_port, (char *)0, 0},
  {(char *)"username", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_username, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_username, (char *)0, 0},
  {(char *)"password", __pyx_getprop_5uamqp_7c_uamqp_15HTTPProxyConfig_password, __pyx_setprop_5uamqp_7c_uamqp_15HTTPProxyConfig_password, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.HTTPProxyConfig", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_HTTPProxyConfig, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_HTTPProxyConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_HTTPProxyConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_HTTPProxyConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_WSIOConfig __pyx_vtable_5uamqp_7c_uamqp_WSIOConfig;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_WSIOConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_WSIOConfig;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_WSIOConfig(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_hostname(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_hostname(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8hostname_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_4port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_resource_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_resource_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_13resource_name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_protocol(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_1__get__(o);
}

static int __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_protocol(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_8protocol_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_WSIOConfig[] = {
  {"set_tlsio_config", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_3set_tlsio_config, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_10WSIOConfig_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_5uamqp_7c_uamqp_WSIOConfig[] = {
  {(char *)"hostname", __pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_hostname, __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_hostname, (char *)0, 0},
  {(char *)"port", __pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_port, __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_port, (char *)0, 0},
  {(char *)"resource_name", __pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_resource_name, __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_resource_name, (char *)0, 0},
  {(char *)"protocol", __pyx_getprop_5uamqp_7c_uamqp_10WSIOConfig_protocol, __pyx_setprop_5uamqp_7c_uamqp_10WSIOConfig_protocol, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_WSIOConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.WSIOConfig", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_WSIOConfig, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_WSIOConfig, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_5uamqp_7c_uamqp_WSIOConfig, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_WSIOConfig, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_XIO __pyx_vtable_5uamqp_7c_uamqp_XIO;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_XIO(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *p;
  PyObject *o = __pyx_tp_new_5uamqp_7c_uamqp_StructBase(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_XIO *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_XIO;
  p->_io_config = Py_None; Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_3XIO_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_XIO(PyObject *o) {
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *p = (struct __pyx_obj_5uamqp_7c_uamqp_XIO *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_5uamqp_7c_uamqp_3XIO_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_io_config);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_5uamqp_7c_uamqp_StructBase(o);
}

static int __pyx_tp_traverse_5uamqp_7c_uamqp_XIO(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *p = (struct __pyx_obj_5uamqp_7c_uamqp_XIO *)o;
  e = ((likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) ? ((__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse) ? __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_5uamqp_7c_uamqp_XIO)); if (e) return e;
  if (p->_io_config) {
    e = (*v)(p->_io_config, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_5uamqp_7c_uamqp_XIO(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_5uamqp_7c_uamqp_XIO *p = (struct __pyx_obj_5uamqp_7c_uamqp_XIO *)o;
  if (likely(__pyx_ptype_5uamqp_7c_uamqp_StructBase)) { if (__pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear) __pyx_ptype_5uamqp_7c_uamqp_StructBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_5uamqp_7c_uamqp_XIO);
  tmp = ((PyObject*)p->_io_config);
  p->_io_config = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_XIO[] = {
  {"destroy", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_5destroy, METH_NOARGS, 0},
  {"set_option", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_7set_option, METH_VARARGS|METH_KEYWORDS, 0},
  {"set_certificates", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_9set_certificates, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3XIO_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_XIO = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.XIO", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_XIO), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_XIO, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_5uamqp_7c_uamqp_XIO, /*tp_traverse*/
  __pyx_tp_clear_5uamqp_7c_uamqp_XIO, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_XIO, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_XIO, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};
static struct __pyx_vtabstruct_5uamqp_7c_uamqp_IOInterfaceDescription __pyx_vtable_5uamqp_7c_uamqp_IOInterfaceDescription;

static PyObject *__pyx_tp_new_5uamqp_7c_uamqp_IOInterfaceDescription(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *)o);
  p->__pyx_vtab = __pyx_vtabptr_5uamqp_7c_uamqp_IOInterfaceDescription;
  if (unlikely(__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_5uamqp_7c_uamqp_IOInterfaceDescription(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_5uamqp_7c_uamqp_IOInterfaceDescription[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_22IOInterfaceDescription_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription = {
  PyVarObject_HEAD_INIT(0, 0)
  "uamqp.c_uamqp.IOInterfaceDescription", /*tp_name*/
  sizeof(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_5uamqp_7c_uamqp_IOInterfaceDescription, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_5uamqp_7c_uamqp_IOInterfaceDescription, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_5uamqp_7c_uamqp_IOInterfaceDescription, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {"create_data", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_1create_data, METH_O, 0},
  {"create_sequence", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_3create_sequence, METH_O, 0},
  {"create_management_operation", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_5create_management_operation, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_empty_string", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_7create_empty_string, METH_NOARGS, 0},
  {"create_string_from_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_9create_string_from_value, METH_VARARGS|METH_KEYWORDS, 0},
  {"enocde_batch_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_11enocde_batch_value, METH_VARARGS|METH_KEYWORDS, 0},
  {"null_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_13null_value, METH_NOARGS, 0},
  {"bool_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_15bool_value, METH_O, 0},
  {"ubyte_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_17ubyte_value, METH_O, 0},
  {"ushort_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_19ushort_value, METH_O, 0},
  {"uint_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_21uint_value, METH_O, 0},
  {"ulong_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_23ulong_value, METH_O, 0},
  {"byte_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_25byte_value, METH_O, 0},
  {"short_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_27short_value, METH_O, 0},
  {"int_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_29int_value, METH_O, 0},
  {"long_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_31long_value, METH_O, 0},
  {"float_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_33float_value, METH_O, 0},
  {"double_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_35double_value, METH_O, 0},
  {"char_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_37char_value, METH_O, 0},
  {"timestamp_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_39timestamp_value, METH_O, 0},
  {"uuid_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_41uuid_value, METH_O, 0},
  {"binary_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_43binary_value, METH_O, 0},
  {"string_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_45string_value, METH_O, 0},
  {"symbol_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_47symbol_value, METH_O, 0},
  {"list_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_49list_value, METH_NOARGS, 0},
  {"dict_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_51dict_value, METH_NOARGS, 0},
  {"array_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_53array_value, METH_NOARGS, 0},
  {"described_value", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_55described_value, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_annotations", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_57create_annotations, METH_O, 0},
  {"create_application_properties", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_59create_application_properties, METH_O, 0},
  {"create_delivery_annotations", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_61create_delivery_annotations, METH_O, 0},
  {"create_message_annotations", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_63create_message_annotations, METH_O, 0},
  {"create_fields", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_65create_fields, METH_O, 0},
  {"create_footer", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_67create_footer, METH_O, 0},
  {"create_sas_token", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_69create_sas_token, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_connection", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_71create_connection, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_error", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_73create_error, METH_O, 0},
  {"create_header", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_75create_header, METH_NOARGS, 0},
  {"create_link", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_77create_link, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_79create_message, METH_NOARGS, 0},
  {"get_encoded_message_size", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_81get_encoded_message_size, METH_VARARGS|METH_KEYWORDS, 0},
  {"decode_message", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_83decode_message, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_message_receiver", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_85create_message_receiver, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_message_sender", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_87create_message_sender, METH_VARARGS|METH_KEYWORDS, 0},
  {"platform_init", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_89platform_init, METH_NOARGS, 0},
  {"platform_deinit", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_91platform_deinit, METH_NOARGS, 0},
  {"get_info", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_93get_info, METH_NOARGS, 0},
  {"get_default_tlsio", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_95get_default_tlsio, METH_NOARGS, 0},
  {"create_properties", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_97create_properties, METH_NOARGS, 0},
  {"load_properties", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_99load_properties, METH_O, 0},
  {"_get_sasl_mechanism_interface", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_101_get_sasl_mechanism_interface, METH_NOARGS, 0},
  {"saslanonymous_get_interface", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_103saslanonymous_get_interface, METH_NOARGS, 0},
  {"saslplain_get_interface", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_105saslplain_get_interface, METH_NOARGS, 0},
  {"get_sasl_mechanism", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_107get_sasl_mechanism, METH_VARARGS|METH_KEYWORDS, 0},
  {"get_plain_sasl_mechanism", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_109get_plain_sasl_mechanism, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_session", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_111create_session, METH_VARARGS|METH_KEYWORDS, 0},
  {"create_source", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_113create_source, METH_NOARGS, 0},
  {"create_target", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_115create_target, METH_NOARGS, 0},
  {"xio_from_wsioconfig", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_117xio_from_wsioconfig, METH_O, 0},
  {"xio_from_tlsioconfig", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_119xio_from_tlsioconfig, METH_VARARGS|METH_KEYWORDS, 0},
  {"xio_from_saslioconfig", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_121xio_from_saslioconfig, METH_O, 0},
  {"set_python_logger", (PyCFunction)__pyx_pw_5uamqp_7c_uamqp_123set_python_logger, METH_NOARGS, 0},
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_c_uamqp(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_c_uamqp},
  {0, NULL}
};
#endif

static struct PyModuleDef __pyx_moduledef = {
    PyModuleDef_HEAD_INIT,
    "c_uamqp",
    0, /* m_doc */
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    0, /* m_size */
  #else
    -1, /* m_size */
  #endif
    __pyx_methods /* m_methods */,
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    __pyx_moduledef_slots, /* m_slots */
  #else
    NULL, /* m_reload */
  #endif
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_n_s_AMQPS_PORT, __pyx_k_AMQPS_PORT, sizeof(__pyx_k_AMQPS_PORT), 0, 0, 1, 1},
  {&__pyx_n_s_AMQPType, __pyx_k_AMQPType, sizeof(__pyx_k_AMQPType), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_BATCH_MESSAGE_FORMAT, __pyx_k_AMQP_BATCH_MESSAGE_FORMAT, sizeof(__pyx_k_AMQP_BATCH_MESSAGE_FORMAT), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_DECODE_ERROR, __pyx_k_AMQP_ERROR_DECODE_ERROR, sizeof(__pyx_k_AMQP_ERROR_DECODE_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_FRAME_SIZE_TOO_SMALL, __pyx_k_AMQP_ERROR_FRAME_SIZE_TOO_SMALL, sizeof(__pyx_k_AMQP_ERROR_FRAME_SIZE_TOO_SMALL), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_ILLEGAL_STATE, __pyx_k_AMQP_ERROR_ILLEGAL_STATE, sizeof(__pyx_k_AMQP_ERROR_ILLEGAL_STATE), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_INTERNAL_ERROR, __pyx_k_AMQP_ERROR_INTERNAL_ERROR, sizeof(__pyx_k_AMQP_ERROR_INTERNAL_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_INVALID_FIELD, __pyx_k_AMQP_ERROR_INVALID_FIELD, sizeof(__pyx_k_AMQP_ERROR_INVALID_FIELD), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_NOT_ALLOWED, __pyx_k_AMQP_ERROR_NOT_ALLOWED, sizeof(__pyx_k_AMQP_ERROR_NOT_ALLOWED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_NOT_FOUND, __pyx_k_AMQP_ERROR_NOT_FOUND, sizeof(__pyx_k_AMQP_ERROR_NOT_FOUND), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_NOT_IMPLEMENTED, __pyx_k_AMQP_ERROR_NOT_IMPLEMENTED, sizeof(__pyx_k_AMQP_ERROR_NOT_IMPLEMENTED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_PRECONDITION_FAILED, __pyx_k_AMQP_ERROR_PRECONDITION_FAILED, sizeof(__pyx_k_AMQP_ERROR_PRECONDITION_FAILED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_RESOURCE_DELETED, __pyx_k_AMQP_ERROR_RESOURCE_DELETED, sizeof(__pyx_k_AMQP_ERROR_RESOURCE_DELETED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_RESOURCE_LIMIT_EXCEED, __pyx_k_AMQP_ERROR_RESOURCE_LIMIT_EXCEED, sizeof(__pyx_k_AMQP_ERROR_RESOURCE_LIMIT_EXCEED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_RESOURCE_LOCKED, __pyx_k_AMQP_ERROR_RESOURCE_LOCKED, sizeof(__pyx_k_AMQP_ERROR_RESOURCE_LOCKED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_ERROR_UNAUTHORIZED_ACCESS, __pyx_k_AMQP_ERROR_UNAUTHORIZED_ACCESS, sizeof(__pyx_k_AMQP_ERROR_UNAUTHORIZED_ACCESS), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO, __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO, sizeof(__pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2, __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2, sizeof(__pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3, __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3, sizeof(__pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4, __pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4, sizeof(__pyx_k_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_OPEN_CANCELLED, __pyx_k_AMQP_MANAGEMENT_OPEN_CANCELLED, sizeof(__pyx_k_AMQP_MANAGEMENT_OPEN_CANCELLED), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_OPEN_ERROR, __pyx_k_AMQP_MANAGEMENT_OPEN_ERROR, sizeof(__pyx_k_AMQP_MANAGEMENT_OPEN_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_MANAGEMENT_OPEN_OK, __pyx_k_AMQP_MANAGEMENT_OPEN_OK, sizeof(__pyx_k_AMQP_MANAGEMENT_OPEN_OK), 0, 0, 1, 1},
  {&__pyx_n_s_AMQP_WSS_PORT, __pyx_k_AMQP_WSS_PORT, sizeof(__pyx_k_AMQP_WSS_PORT), 0, 0, 1, 1},
  {&__pyx_n_s_APACHE, __pyx_k_APACHE, sizeof(__pyx_k_APACHE), 0, 0, 1, 1},
  {&__pyx_kp_s_ATTACH_frame_Source_and_or_Targe, __pyx_k_ATTACH_frame_Source_and_or_Targe, sizeof(__pyx_k_ATTACH_frame_Source_and_or_Targe), 0, 0, 1, 0},
  {&__pyx_n_s_AUTH_EXPIRATION_SECS, __pyx_k_AUTH_EXPIRATION_SECS, sizeof(__pyx_k_AUTH_EXPIRATION_SECS), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_REFRESH_SECS, __pyx_k_AUTH_REFRESH_SECS, sizeof(__pyx_k_AUTH_REFRESH_SECS), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_ERROR, __pyx_k_AUTH_STATUS_ERROR, sizeof(__pyx_k_AUTH_STATUS_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_EXPIRED, __pyx_k_AUTH_STATUS_EXPIRED, sizeof(__pyx_k_AUTH_STATUS_EXPIRED), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_FAILURE, __pyx_k_AUTH_STATUS_FAILURE, sizeof(__pyx_k_AUTH_STATUS_FAILURE), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_IDLE, __pyx_k_AUTH_STATUS_IDLE, sizeof(__pyx_k_AUTH_STATUS_IDLE), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_IN_PROGRESS, __pyx_k_AUTH_STATUS_IN_PROGRESS, sizeof(__pyx_k_AUTH_STATUS_IN_PROGRESS), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_OK, __pyx_k_AUTH_STATUS_OK, sizeof(__pyx_k_AUTH_STATUS_OK), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED, __pyx_k_AUTH_STATUS_REFRESH_REQUIRED, sizeof(__pyx_k_AUTH_STATUS_REFRESH_REQUIRED), 0, 0, 1, 1},
  {&__pyx_n_s_AUTH_STATUS_TIMEOUT, __pyx_k_AUTH_STATUS_TIMEOUT, sizeof(__pyx_k_AUTH_STATUS_TIMEOUT), 0, 0, 1, 1},
  {&__pyx_n_s_ArrayValue, __pyx_k_ArrayValue, sizeof(__pyx_k_ArrayValue), 0, 0, 1, 1},
  {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1},
  {&__pyx_n_s_BinaryValue, __pyx_k_BinaryValue, sizeof(__pyx_k_BinaryValue), 0, 0, 1, 1},
  {&__pyx_kp_s_Body_data_count_is_zero, __pyx_k_Body_data_count_is_zero, sizeof(__pyx_k_Body_data_count_is_zero), 0, 0, 1, 0},
  {&__pyx_n_s_BoolValue, __pyx_k_BoolValue, sizeof(__pyx_k_BoolValue), 0, 0, 1, 1},
  {&__pyx_n_s_ByteValue, __pyx_k_ByteValue, sizeof(__pyx_k_ByteValue), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPEN_COMPLETE_CANCELLED, __pyx_k_CBS_OPEN_COMPLETE_CANCELLED, sizeof(__pyx_k_CBS_OPEN_COMPLETE_CANCELLED), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPEN_COMPLETE_ERROR, __pyx_k_CBS_OPEN_COMPLETE_ERROR, sizeof(__pyx_k_CBS_OPEN_COMPLETE_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPEN_COMPLETE_OK, __pyx_k_CBS_OPEN_COMPLETE_OK, sizeof(__pyx_k_CBS_OPEN_COMPLETE_OK), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPERATION_RESULT_CBS_ERROR, __pyx_k_CBS_OPERATION_RESULT_CBS_ERROR, sizeof(__pyx_k_CBS_OPERATION_RESULT_CBS_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPERATION_RESULT_INSTANCE_CL, __pyx_k_CBS_OPERATION_RESULT_INSTANCE_CL, sizeof(__pyx_k_CBS_OPERATION_RESULT_INSTANCE_CL), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPERATION_RESULT_OK, __pyx_k_CBS_OPERATION_RESULT_OK, sizeof(__pyx_k_CBS_OPERATION_RESULT_OK), 0, 0, 1, 1},
  {&__pyx_n_s_CBS_OPERATION_RESULT_OPERATION_F, __pyx_k_CBS_OPERATION_RESULT_OPERATION_F, sizeof(__pyx_k_CBS_OPERATION_RESULT_OPERATION_F), 0, 0, 1, 1},
  {&__pyx_kp_s_CBS_error_occurred_on_connection, __pyx_k_CBS_error_occurred_on_connection, sizeof(__pyx_k_CBS_error_occurred_on_connection), 0, 0, 1, 0},
  {&__pyx_kp_s_CBS_for_connection_r_completed_o, __pyx_k_CBS_for_connection_r_completed_o, sizeof(__pyx_k_CBS_for_connection_r_completed_o), 0, 0, 1, 0},
  {&__pyx_n_s_CLOSE_PIPE, __pyx_k_CLOSE_PIPE, sizeof(__pyx_k_CLOSE_PIPE), 0, 0, 1, 1},
  {&__pyx_n_s_CLOSE_RCVD, __pyx_k_CLOSE_RCVD, sizeof(__pyx_k_CLOSE_RCVD), 0, 0, 1, 1},
  {&__pyx_n_s_CLOSE_SENT, __pyx_k_CLOSE_SENT, sizeof(__pyx_k_CLOSE_SENT), 0, 0, 1, 1},
  {&__pyx_n_s_CONNECTION_ERROR_CONNECTION_FORC, __pyx_k_CONNECTION_ERROR_CONNECTION_FORC, sizeof(__pyx_k_CONNECTION_ERROR_CONNECTION_FORC), 0, 0, 1, 1},
  {&__pyx_n_s_CONNECTION_ERROR_FRAMING_ERROR, __pyx_k_CONNECTION_ERROR_FRAMING_ERROR, sizeof(__pyx_k_CONNECTION_ERROR_FRAMING_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_CONNECTION_ERROR_REDIRECT, __pyx_k_CONNECTION_ERROR_REDIRECT, sizeof(__pyx_k_CONNECTION_ERROR_REDIRECT), 0, 0, 1, 1},
  {&__pyx_kp_s_Can_t_call__message_received_dur, __pyx_k_Can_t_call__message_received_dur, sizeof(__pyx_k_Can_t_call__message_received_dur), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call__on_message_sent_duri, __pyx_k_Can_t_call__on_message_sent_duri, sizeof(__pyx_k_Can_t_call__on_message_sent_duri), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call_on_cbs_error_during_g, __pyx_k_Can_t_call_on_cbs_error_during_g, sizeof(__pyx_k_Can_t_call_on_cbs_error_during_g), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call_on_cbs_open_complete, __pyx_k_Can_t_call_on_cbs_open_complete, sizeof(__pyx_k_Can_t_call_on_cbs_open_complete), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call_on_cbs_put_token_comp, __pyx_k_Can_t_call_on_cbs_put_token_comp, sizeof(__pyx_k_Can_t_call_on_cbs_put_token_comp), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call_on_connection_state_c, __pyx_k_Can_t_call_on_connection_state_c, sizeof(__pyx_k_Can_t_call_on_connection_state_c), 0, 0, 1, 0},
  {&__pyx_kp_s_Can_t_call_on_state_changed_duri, __pyx_k_Can_t_call_on_state_changed_duri, sizeof(__pyx_k_Can_t_call_on_state_changed_duri), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_AMQP_value_decoder, __pyx_k_Cannot_create_AMQP_value_decoder, sizeof(__pyx_k_Cannot_create_AMQP_value_decoder), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_application_proper, __pyx_k_Cannot_create_application_proper, sizeof(__pyx_k_Cannot_create_application_proper), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_body_AMQP_data, __pyx_k_Cannot_create_body_AMQP_data, sizeof(__pyx_k_Cannot_create_body_AMQP_data), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_body_AMQP_value, __pyx_k_Cannot_create_body_AMQP_value, sizeof(__pyx_k_Cannot_create_body_AMQP_value), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_header_AMQP_value, __pyx_k_Cannot_create_header_AMQP_value, sizeof(__pyx_k_Cannot_create_header_AMQP_value), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_create_properties_AMQP_va, __pyx_k_Cannot_create_properties_AMQP_va, sizeof(__pyx_k_Cannot_create_properties_AMQP_va), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_decode_bytes, __pyx_k_Cannot_decode_bytes, sizeof(__pyx_k_Cannot_decode_bytes), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_encode_application_proper, __pyx_k_Cannot_encode_application_proper, sizeof(__pyx_k_Cannot_encode_application_proper), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_encode_body_AMQP_value, __pyx_k_Cannot_encode_body_AMQP_value, sizeof(__pyx_k_Cannot_encode_body_AMQP_value), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_encode_header_value, __pyx_k_Cannot_encode_header_value, sizeof(__pyx_k_Cannot_encode_header_value), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_encode_message_annotation, __pyx_k_Cannot_encode_message_annotation, sizeof(__pyx_k_Cannot_encode_message_annotation), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_encode_message_properties, __pyx_k_Cannot_encode_message_properties, sizeof(__pyx_k_Cannot_encode_message_properties), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_body_AMQP_data, __pyx_k_Cannot_get_body_AMQP_data, sizeof(__pyx_k_Cannot_get_body_AMQP_data), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_body_AMQP_data_count, __pyx_k_Cannot_get_body_AMQP_data_count, sizeof(__pyx_k_Cannot_get_body_AMQP_data_count), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_body_AMQP_data_encode, __pyx_k_Cannot_get_body_AMQP_data_encode, sizeof(__pyx_k_Cannot_get_body_AMQP_data_encode), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_body_AMQP_value_encod, __pyx_k_Cannot_get_body_AMQP_value_encod, sizeof(__pyx_k_Cannot_get_body_AMQP_value_encod), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_cMessage_application, __pyx_k_Cannot_get_cMessage_application, sizeof(__pyx_k_Cannot_get_cMessage_application), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_cMessage_header, __pyx_k_Cannot_get_cMessage_header, sizeof(__pyx_k_Cannot_get_cMessage_header), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_get_cMessage_properties, __pyx_k_Cannot_get_cMessage_properties, sizeof(__pyx_k_Cannot_get_cMessage_properties), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_obtain_AMQP_value_from_bo, __pyx_k_Cannot_obtain_AMQP_value_from_bo, sizeof(__pyx_k_Cannot_obtain_AMQP_value_from_bo), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_obtain_application_proper, __pyx_k_Cannot_obtain_application_proper, sizeof(__pyx_k_Cannot_obtain_application_proper), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_obtain_header_encoded_siz, __pyx_k_Cannot_obtain_header_encoded_siz, sizeof(__pyx_k_Cannot_obtain_header_encoded_siz), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_obtain_message_annotation, __pyx_k_Cannot_obtain_message_annotation, sizeof(__pyx_k_Cannot_obtain_message_annotation), 0, 0, 1, 0},
  {&__pyx_kp_s_Cannot_obtain_message_properties, __pyx_k_Cannot_obtain_message_properties, sizeof(__pyx_k_Cannot_obtain_message_properties), 0, 0, 1, 0},
  {&__pyx_n_s_CharValue, __pyx_k_CharValue, sizeof(__pyx_k_CharValue), 0, 0, 1, 1},
  {&__pyx_kp_b_Client_shutdown_with_keyboard_in, __pyx_k_Client_shutdown_with_keyboard_in, sizeof(__pyx_k_Client_shutdown_with_keyboard_in), 0, 0, 0, 0},
  {&__pyx_n_s_CompositeType, __pyx_k_CompositeType, sizeof(__pyx_k_CompositeType), 0, 0, 1, 1},
  {&__pyx_n_s_ConnectionState, __pyx_k_ConnectionState, sizeof(__pyx_k_ConnectionState), 0, 0, 1, 1},
  {&__pyx_kp_s_Could_not_set_absolute_expiry_ti, __pyx_k_Could_not_set_absolute_expiry_ti, sizeof(__pyx_k_Could_not_set_absolute_expiry_ti), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_content_encoding, __pyx_k_Could_not_set_content_encoding, sizeof(__pyx_k_Could_not_set_content_encoding), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_content_type, __pyx_k_Could_not_set_content_type, sizeof(__pyx_k_Could_not_set_content_type), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_correlation_id, __pyx_k_Could_not_set_correlation_id, sizeof(__pyx_k_Could_not_set_correlation_id), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_create_time, __pyx_k_Could_not_set_create_time, sizeof(__pyx_k_Could_not_set_create_time), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_group_Sequence, __pyx_k_Could_not_set_group_Sequence, sizeof(__pyx_k_Could_not_set_group_Sequence), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_group_id, __pyx_k_Could_not_set_group_id, sizeof(__pyx_k_Could_not_set_group_id), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_message_id, __pyx_k_Could_not_set_message_id, sizeof(__pyx_k_Could_not_set_message_id), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_reply_to, __pyx_k_Could_not_set_reply_to, sizeof(__pyx_k_Could_not_set_reply_to), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_reply_to_group_id, __pyx_k_Could_not_set_reply_to_group_id, sizeof(__pyx_k_Could_not_set_reply_to_group_id), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_subject, __pyx_k_Could_not_set_subject, sizeof(__pyx_k_Could_not_set_subject), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_to, __pyx_k_Could_not_set_to, sizeof(__pyx_k_Could_not_set_to), 0, 0, 1, 0},
  {&__pyx_kp_s_Could_not_set_user_id, __pyx_k_Could_not_set_user_id, sizeof(__pyx_k_Could_not_set_user_id), 0, 0, 1, 0},
  {&__pyx_kp_s_Couldn_t_set_delivery_count, __pyx_k_Couldn_t_set_delivery_count, sizeof(__pyx_k_Couldn_t_set_delivery_count), 0, 0, 1, 0},
  {&__pyx_kp_s_Couldn_t_set_durable, __pyx_k_Couldn_t_set_durable, sizeof(__pyx_k_Couldn_t_set_durable), 0, 0, 1, 0},
  {&__pyx_kp_s_Couldn_t_set_first_acquirer, __pyx_k_Couldn_t_set_first_acquirer, sizeof(__pyx_k_Couldn_t_set_first_acquirer), 0, 0, 1, 0},
  {&__pyx_kp_s_Couldn_t_set_priority, __pyx_k_Couldn_t_set_priority, sizeof(__pyx_k_Couldn_t_set_priority), 0, 0, 1, 0},
  {&__pyx_kp_s_Couldn_t_set_time_to_live, __pyx_k_Couldn_t_set_time_to_live, sizeof(__pyx_k_Couldn_t_set_time_to_live), 0, 0, 1, 0},
  {&__pyx_kp_s_Creating_SASL_Mechanism, __pyx_k_Creating_SASL_Mechanism, sizeof(__pyx_k_Creating_SASL_Mechanism), 0, 0, 1, 0},
  {&__pyx_n_s_DEFAULT_PORT, __pyx_k_DEFAULT_PORT, sizeof(__pyx_k_DEFAULT_PORT), 0, 0, 1, 1},
  {&__pyx_n_s_DEFAULT_WS_PORT, __pyx_k_DEFAULT_WS_PORT, sizeof(__pyx_k_DEFAULT_WS_PORT), 0, 0, 1, 1},
  {&__pyx_n_s_DISCARDING, __pyx_k_DISCARDING, sizeof(__pyx_k_DISCARDING), 0, 0, 1, 1},
  {&__pyx_n_s_DataType, __pyx_k_DataType, sizeof(__pyx_k_DataType), 0, 0, 1, 1},
  {&__pyx_kp_s_Deallocating_AMQPString, __pyx_k_Deallocating_AMQPString, sizeof(__pyx_k_Deallocating_AMQPString), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_CBSTokenAuth, __pyx_k_Deallocating_CBSTokenAuth, sizeof(__pyx_k_Deallocating_CBSTokenAuth), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_Connection, __pyx_k_Deallocating_Connection, sizeof(__pyx_k_Deallocating_Connection), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_SASLMechanism, __pyx_k_Deallocating_SASLMechanism, sizeof(__pyx_k_Deallocating_SASLMechanism), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_XIO, __pyx_k_Deallocating_XIO, sizeof(__pyx_k_Deallocating_XIO), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cError, __pyx_k_Deallocating_cError, sizeof(__pyx_k_Deallocating_cError), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cHeader, __pyx_k_Deallocating_cHeader, sizeof(__pyx_k_Deallocating_cHeader), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cLink, __pyx_k_Deallocating_cLink, sizeof(__pyx_k_Deallocating_cLink), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cManagementOperatio, __pyx_k_Deallocating_cManagementOperatio, sizeof(__pyx_k_Deallocating_cManagementOperatio), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cMessage, __pyx_k_Deallocating_cMessage, sizeof(__pyx_k_Deallocating_cMessage), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cMessageDecoder, __pyx_k_Deallocating_cMessageDecoder, sizeof(__pyx_k_Deallocating_cMessageDecoder), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cMessageReceiver, __pyx_k_Deallocating_cMessageReceiver, sizeof(__pyx_k_Deallocating_cMessageReceiver), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cMessageSender, __pyx_k_Deallocating_cMessageSender, sizeof(__pyx_k_Deallocating_cMessageSender), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cProperties, __pyx_k_Deallocating_cProperties, sizeof(__pyx_k_Deallocating_cProperties), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cSession, __pyx_k_Deallocating_cSession, sizeof(__pyx_k_Deallocating_cSession), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cSource, __pyx_k_Deallocating_cSource, sizeof(__pyx_k_Deallocating_cSource), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_cTarget, __pyx_k_Deallocating_cTarget, sizeof(__pyx_k_Deallocating_cTarget), 0, 0, 1, 0},
  {&__pyx_kp_s_Deallocating_r, __pyx_k_Deallocating_r, sizeof(__pyx_k_Deallocating_r), 0, 0, 1, 0},
  {&__pyx_n_s_Debug, __pyx_k_Debug, sizeof(__pyx_k_Debug), 0, 0, 1, 1},
  {&__pyx_kp_s_Deinitializing_platform, __pyx_k_Deinitializing_platform, sizeof(__pyx_k_Deinitializing_platform), 0, 0, 1, 0},
  {&__pyx_n_s_DescribedType, __pyx_k_DescribedType, sizeof(__pyx_k_DescribedType), 0, 0, 1, 1},
  {&__pyx_kp_s_Destroying_AMQPString, __pyx_k_Destroying_AMQPString, sizeof(__pyx_k_Destroying_AMQPString), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_AsyncOperation, __pyx_k_Destroying_AsyncOperation, sizeof(__pyx_k_Destroying_AsyncOperation), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_CBSTokenAuth_for_conn, __pyx_k_Destroying_CBSTokenAuth_for_conn, sizeof(__pyx_k_Destroying_CBSTokenAuth_for_conn), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_Connection, __pyx_k_Destroying_Connection, sizeof(__pyx_k_Destroying_Connection), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_SASLMechanism, __pyx_k_Destroying_SASLMechanism, sizeof(__pyx_k_Destroying_SASLMechanism), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_XIO, __pyx_k_Destroying_XIO, sizeof(__pyx_k_Destroying_XIO), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cError, __pyx_k_Destroying_cError, sizeof(__pyx_k_Destroying_cError), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cHeader, __pyx_k_Destroying_cHeader, sizeof(__pyx_k_Destroying_cHeader), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cLink, __pyx_k_Destroying_cLink, sizeof(__pyx_k_Destroying_cLink), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cManagementOperation, __pyx_k_Destroying_cManagementOperation, sizeof(__pyx_k_Destroying_cManagementOperation), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cMessage, __pyx_k_Destroying_cMessage, sizeof(__pyx_k_Destroying_cMessage), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cMessageReceiver, __pyx_k_Destroying_cMessageReceiver, sizeof(__pyx_k_Destroying_cMessageReceiver), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cMessageSender, __pyx_k_Destroying_cMessageSender, sizeof(__pyx_k_Destroying_cMessageSender), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cProperties, __pyx_k_Destroying_cProperties, sizeof(__pyx_k_Destroying_cProperties), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cSession, __pyx_k_Destroying_cSession, sizeof(__pyx_k_Destroying_cSession), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cSource, __pyx_k_Destroying_cSource, sizeof(__pyx_k_Destroying_cSource), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_cTarget, __pyx_k_Destroying_cTarget, sizeof(__pyx_k_Destroying_cTarget), 0, 0, 1, 0},
  {&__pyx_kp_s_Destroying_r, __pyx_k_Destroying_r, sizeof(__pyx_k_Destroying_r), 0, 0, 1, 0},
  {&__pyx_n_s_DictValue, __pyx_k_DictValue, sizeof(__pyx_k_DictValue), 0, 0, 1, 1},
  {&__pyx_n_s_DoubleValue, __pyx_k_DoubleValue, sizeof(__pyx_k_DoubleValue), 0, 0, 1, 1},
  {&__pyx_n_s_END, __pyx_k_END, sizeof(__pyx_k_END), 0, 0, 1, 1},
  {&__pyx_n_s_ERROR, __pyx_k_ERROR, sizeof(__pyx_k_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_Enum, __pyx_k_Enum, sizeof(__pyx_k_Enum), 0, 0, 1, 1},
  {&__pyx_kp_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 0},
  {&__pyx_kp_s_ErrorCode, __pyx_k_ErrorCode, sizeof(__pyx_k_ErrorCode), 0, 0, 1, 0},
  {&__pyx_n_s_ErrorType, __pyx_k_ErrorType, sizeof(__pyx_k_ErrorType), 0, 0, 1, 1},
  {&__pyx_n_s_Error_2, __pyx_k_Error_2, sizeof(__pyx_k_Error_2), 0, 0, 1, 1},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_ac, __pyx_k_Failed_to_allocate_memory_for_ac, sizeof(__pyx_k_Failed_to_allocate_memory_for_ac), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_me, __pyx_k_Failed_to_allocate_memory_for_me, sizeof(__pyx_k_Failed_to_allocate_memory_for_me), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_me_2, __pyx_k_Failed_to_allocate_memory_for_me_2, sizeof(__pyx_k_Failed_to_allocate_memory_for_me_2), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_mo, __pyx_k_Failed_to_allocate_memory_for_mo, sizeof(__pyx_k_Failed_to_allocate_memory_for_mo), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_re, __pyx_k_Failed_to_allocate_memory_for_re, sizeof(__pyx_k_Failed_to_allocate_memory_for_re), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_re_2, __pyx_k_Failed_to_allocate_memory_for_re_2, sizeof(__pyx_k_Failed_to_allocate_memory_for_re_2), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_for_re_3, __pyx_k_Failed_to_allocate_memory_for_re_3, sizeof(__pyx_k_Failed_to_allocate_memory_for_re_3), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_allocate_memory_to_cre, __pyx_k_Failed_to_allocate_memory_to_cre, sizeof(__pyx_k_Failed_to_allocate_memory_to_cre), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_append_AMQPString_valu, __pyx_k_Failed_to_append_AMQPString_valu, sizeof(__pyx_k_Failed_to_append_AMQPString_valu), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_append_string, __pyx_k_Failed_to_append_string, sizeof(__pyx_k_Failed_to_append_string), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_clone_AMQPString_value, __pyx_k_Failed_to_clone_AMQPString_value, sizeof(__pyx_k_Failed_to_clone_AMQPString_value), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_SASL_Anonymous, __pyx_k_Failed_to_create_SASL_Anonymous, sizeof(__pyx_k_Failed_to_create_SASL_Anonymous), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_SASL_CBS_Interf, __pyx_k_Failed_to_create_SASL_CBS_Interf, sizeof(__pyx_k_Failed_to_create_SASL_CBS_Interf), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_SASL_Client_IO, __pyx_k_Failed_to_create_SASL_Client_IO, sizeof(__pyx_k_Failed_to_create_SASL_Client_IO), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_SASL_plain_Inte, __pyx_k_Failed_to_create_SASL_plain_Inte, sizeof(__pyx_k_Failed_to_create_SASL_plain_Inte), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_SAS_token, __pyx_k_Failed_to_create_SAS_token, sizeof(__pyx_k_Failed_to_create_SAS_token), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_message_decoder, __pyx_k_Failed_to_create_message_decoder, sizeof(__pyx_k_Failed_to_create_message_decoder), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_source, __pyx_k_Failed_to_create_source, sizeof(__pyx_k_Failed_to_create_source), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_target, __pyx_k_Failed_to_create_target, sizeof(__pyx_k_Failed_to_create_target), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_tick_counter, __pyx_k_Failed_to_create_tick_counter, sizeof(__pyx_k_Failed_to_create_tick_counter), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_create_tlsio_descripti, __pyx_k_Failed_to_create_tlsio_descripti, sizeof(__pyx_k_Failed_to_create_tlsio_descripti), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_encode_batched_message, __pyx_k_Failed_to_encode_batched_message, sizeof(__pyx_k_Failed_to_encode_batched_message), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_current_ms_time, __pyx_k_Failed_to_get_current_ms_time, sizeof(__pyx_k_Failed_to_get_current_ms_time), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_encoded_size, __pyx_k_Failed_to_get_encoded_size, sizeof(__pyx_k_Failed_to_get_encoded_size), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_address, __pyx_k_Failed_to_get_source_address, sizeof(__pyx_k_Failed_to_get_source_address), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_distributio, __pyx_k_Failed_to_get_source_distributio, sizeof(__pyx_k_Failed_to_get_source_distributio), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_durable, __pyx_k_Failed_to_get_source_durable, sizeof(__pyx_k_Failed_to_get_source_durable), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_dynamic, __pyx_k_Failed_to_get_source_dynamic, sizeof(__pyx_k_Failed_to_get_source_dynamic), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_dynamic_nod, __pyx_k_Failed_to_get_source_dynamic_nod, sizeof(__pyx_k_Failed_to_get_source_dynamic_nod), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_expiry_poli, __pyx_k_Failed_to_get_source_expiry_poli, sizeof(__pyx_k_Failed_to_get_source_expiry_poli), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_filter_set, __pyx_k_Failed_to_get_source_filter_set, sizeof(__pyx_k_Failed_to_get_source_filter_set), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_source_timeout, __pyx_k_Failed_to_get_source_timeout, sizeof(__pyx_k_Failed_to_get_source_timeout), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_address, __pyx_k_Failed_to_get_target_address, sizeof(__pyx_k_Failed_to_get_target_address), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_durable, __pyx_k_Failed_to_get_target_durable, sizeof(__pyx_k_Failed_to_get_target_durable), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_dynamic, __pyx_k_Failed_to_get_target_dynamic, sizeof(__pyx_k_Failed_to_get_target_dynamic), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_dynamic_nod, __pyx_k_Failed_to_get_target_dynamic_nod, sizeof(__pyx_k_Failed_to_get_target_dynamic_nod), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_expiry_poli, __pyx_k_Failed_to_get_target_expiry_poli, sizeof(__pyx_k_Failed_to_get_target_expiry_poli), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_get_target_timeout, __pyx_k_Failed_to_get_target_timeout, sizeof(__pyx_k_Failed_to_get_target_timeout), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_initialize_platform, __pyx_k_Failed_to_initialize_platform, sizeof(__pyx_k_Failed_to_initialize_platform), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_process_link_ATTACH_fr, __pyx_k_Failed_to_process_link_ATTACH_fr, sizeof(__pyx_k_Failed_to_process_link_ATTACH_fr), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_certificates, __pyx_k_Failed_to_set_certificates, sizeof(__pyx_k_Failed_to_set_certificates), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_option, __pyx_k_Failed_to_set_option, sizeof(__pyx_k_Failed_to_set_option), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_address, __pyx_k_Failed_to_set_source_address, sizeof(__pyx_k_Failed_to_set_source_address), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_distributio, __pyx_k_Failed_to_set_source_distributio, sizeof(__pyx_k_Failed_to_set_source_distributio), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_durable, __pyx_k_Failed_to_set_source_durable, sizeof(__pyx_k_Failed_to_set_source_durable), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_dynamic, __pyx_k_Failed_to_set_source_dynamic, sizeof(__pyx_k_Failed_to_set_source_dynamic), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_dynamic_nod, __pyx_k_Failed_to_set_source_dynamic_nod, sizeof(__pyx_k_Failed_to_set_source_dynamic_nod), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_expiry_poli, __pyx_k_Failed_to_set_source_expiry_poli, sizeof(__pyx_k_Failed_to_set_source_expiry_poli), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_filter_set, __pyx_k_Failed_to_set_source_filter_set, sizeof(__pyx_k_Failed_to_set_source_filter_set), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_source_timeout, __pyx_k_Failed_to_set_source_timeout, sizeof(__pyx_k_Failed_to_set_source_timeout), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_status_code_field, __pyx_k_Failed_to_set_status_code_field, sizeof(__pyx_k_Failed_to_set_status_code_field), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_status_description, __pyx_k_Failed_to_set_status_description, sizeof(__pyx_k_Failed_to_set_status_description), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_address, __pyx_k_Failed_to_set_target_address, sizeof(__pyx_k_Failed_to_set_target_address), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_durable, __pyx_k_Failed_to_set_target_durable, sizeof(__pyx_k_Failed_to_set_target_durable), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_dynamic, __pyx_k_Failed_to_set_target_dynamic, sizeof(__pyx_k_Failed_to_set_target_dynamic), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_dynamic_nod, __pyx_k_Failed_to_set_target_dynamic_nod, sizeof(__pyx_k_Failed_to_set_target_dynamic_nod), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_expiry_poli, __pyx_k_Failed_to_set_target_expiry_poli, sizeof(__pyx_k_Failed_to_set_target_expiry_poli), 0, 0, 1, 0},
  {&__pyx_kp_s_Failed_to_set_target_timeout, __pyx_k_Failed_to_set_target_timeout, sizeof(__pyx_k_Failed_to_set_target_timeout), 0, 0, 1, 0},
  {&__pyx_kp_s_Failure_getting_message_body_typ, __pyx_k_Failure_getting_message_body_typ, sizeof(__pyx_k_Failure_getting_message_body_typ), 0, 0, 1, 0},
  {&__pyx_n_s_FloatValue, __pyx_k_FloatValue, sizeof(__pyx_k_FloatValue), 0, 0, 1, 1},
  {&__pyx_kp_s_Generated_invalid_SAS_token, __pyx_k_Generated_invalid_SAS_token, sizeof(__pyx_k_Generated_invalid_SAS_token), 0, 0, 1, 0},
  {&__pyx_n_s_HDR_EXCH, __pyx_k_HDR_EXCH, sizeof(__pyx_k_HDR_EXCH), 0, 0, 1, 1},
  {&__pyx_n_s_HDR_RCVD, __pyx_k_HDR_RCVD, sizeof(__pyx_k_HDR_RCVD), 0, 0, 1, 1},
  {&__pyx_n_s_HDR_SENT, __pyx_k_HDR_SENT, sizeof(__pyx_k_HDR_SENT), 0, 0, 1, 1},
  {&__pyx_n_s_IO_OPEN_RESULT_CANCELLED, __pyx_k_IO_OPEN_RESULT_CANCELLED, sizeof(__pyx_k_IO_OPEN_RESULT_CANCELLED), 0, 0, 1, 1},
  {&__pyx_n_s_IO_OPEN_RESULT_ERROR, __pyx_k_IO_OPEN_RESULT_ERROR, sizeof(__pyx_k_IO_OPEN_RESULT_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_IO_OPEN_RESULT_OK, __pyx_k_IO_OPEN_RESULT_OK, sizeof(__pyx_k_IO_OPEN_RESULT_OK), 0, 0, 1, 1},
  {&__pyx_n_s_IO_SEND_RESULT_CANCELLED, __pyx_k_IO_SEND_RESULT_CANCELLED, sizeof(__pyx_k_IO_SEND_RESULT_CANCELLED), 0, 0, 1, 1},
  {&__pyx_n_s_IO_SEND_RESULT_ERROR, __pyx_k_IO_SEND_RESULT_ERROR, sizeof(__pyx_k_IO_SEND_RESULT_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_IO_SEND_RESULT_OK, __pyx_k_IO_SEND_RESULT_OK, sizeof(__pyx_k_IO_SEND_RESULT_OK), 0, 0, 1, 1},
  {&__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_k_Incompatible_checksums_s_vs_0xd4, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xd4), 0, 0, 1, 0},
  {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
  {&__pyx_kp_s_Index_is_out_of_range, __pyx_k_Index_is_out_of_range, sizeof(__pyx_k_Index_is_out_of_range), 0, 0, 1, 0},
  {&__pyx_n_s_Info, __pyx_k_Info, sizeof(__pyx_k_Info), 0, 0, 1, 1},
  {&__pyx_kp_s_Input_value_must_be_type_UUID, __pyx_k_Input_value_must_be_type_UUID, sizeof(__pyx_k_Input_value_must_be_type_UUID), 0, 0, 1, 0},
  {&__pyx_n_s_IntValue, __pyx_k_IntValue, sizeof(__pyx_k_IntValue), 0, 0, 1, 1},
  {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
  {&__pyx_n_s_KeyboardInterrupt, __pyx_k_KeyboardInterrupt, sizeof(__pyx_k_KeyboardInterrupt), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_ERROR_DETACH_FORCED, __pyx_k_LINK_ERROR_DETACH_FORCED, sizeof(__pyx_k_LINK_ERROR_DETACH_FORCED), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_ERROR_MESSAGE_SIZE_EXCEEDED, __pyx_k_LINK_ERROR_MESSAGE_SIZE_EXCEEDED, sizeof(__pyx_k_LINK_ERROR_MESSAGE_SIZE_EXCEEDED), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_ERROR_REDIRECT, __pyx_k_LINK_ERROR_REDIRECT, sizeof(__pyx_k_LINK_ERROR_REDIRECT), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_ERROR_STOLEN, __pyx_k_LINK_ERROR_STOLEN, sizeof(__pyx_k_LINK_ERROR_STOLEN), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_ERROR_TRANSFER_LIMIT_EXCEED, __pyx_k_LINK_ERROR_TRANSFER_LIMIT_EXCEED, sizeof(__pyx_k_LINK_ERROR_TRANSFER_LIMIT_EXCEED), 0, 0, 1, 1},
  {&__pyx_kp_s_Link_ATTACH_frame_missing_source, __pyx_k_Link_ATTACH_frame_missing_source, sizeof(__pyx_k_Link_ATTACH_frame_missing_source), 0, 0, 1, 0},
  {&__pyx_n_s_ListValue, __pyx_k_ListValue, sizeof(__pyx_k_ListValue), 0, 0, 1, 1},
  {&__pyx_n_s_LogCategory, __pyx_k_LogCategory, sizeof(__pyx_k_LogCategory), 0, 0, 1, 1},
  {&__pyx_n_s_LongValue, __pyx_k_LongValue, sizeof(__pyx_k_LongValue), 0, 0, 1, 1},
  {&__pyx_n_s_MAX_FRAME_SIZE_BYTES, __pyx_k_MAX_FRAME_SIZE_BYTES, sizeof(__pyx_k_MAX_FRAME_SIZE_BYTES), 0, 0, 1, 1},
  {&__pyx_n_s_MAX_MESSAGE_LENGTH_BYTES, __pyx_k_MAX_MESSAGE_LENGTH_BYTES, sizeof(__pyx_k_MAX_MESSAGE_LENGTH_BYTES), 0, 0, 1, 1},
  {&__pyx_n_s_MAX_PARTITION_KEY_LENGTH, __pyx_k_MAX_PARTITION_KEY_LENGTH, sizeof(__pyx_k_MAX_PARTITION_KEY_LENGTH), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_RECEIVER_STATE_CLOSING, __pyx_k_MESSAGE_RECEIVER_STATE_CLOSING, sizeof(__pyx_k_MESSAGE_RECEIVER_STATE_CLOSING), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_RECEIVER_STATE_ERROR, __pyx_k_MESSAGE_RECEIVER_STATE_ERROR, sizeof(__pyx_k_MESSAGE_RECEIVER_STATE_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_RECEIVER_STATE_IDLE, __pyx_k_MESSAGE_RECEIVER_STATE_IDLE, sizeof(__pyx_k_MESSAGE_RECEIVER_STATE_IDLE), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_RECEIVER_STATE_OPEN, __pyx_k_MESSAGE_RECEIVER_STATE_OPEN, sizeof(__pyx_k_MESSAGE_RECEIVER_STATE_OPEN), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_RECEIVER_STATE_OPENING, __pyx_k_MESSAGE_RECEIVER_STATE_OPENING, sizeof(__pyx_k_MESSAGE_RECEIVER_STATE_OPENING), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SENDER_STATE_CLOSING, __pyx_k_MESSAGE_SENDER_STATE_CLOSING, sizeof(__pyx_k_MESSAGE_SENDER_STATE_CLOSING), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SENDER_STATE_ERROR, __pyx_k_MESSAGE_SENDER_STATE_ERROR, sizeof(__pyx_k_MESSAGE_SENDER_STATE_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SENDER_STATE_IDLE, __pyx_k_MESSAGE_SENDER_STATE_IDLE, sizeof(__pyx_k_MESSAGE_SENDER_STATE_IDLE), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SENDER_STATE_OPEN, __pyx_k_MESSAGE_SENDER_STATE_OPEN, sizeof(__pyx_k_MESSAGE_SENDER_STATE_OPEN), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SENDER_STATE_OPENING, __pyx_k_MESSAGE_SENDER_STATE_OPENING, sizeof(__pyx_k_MESSAGE_SENDER_STATE_OPENING), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SEND_CANCELLED, __pyx_k_MESSAGE_SEND_CANCELLED, sizeof(__pyx_k_MESSAGE_SEND_CANCELLED), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SEND_ERROR, __pyx_k_MESSAGE_SEND_ERROR, sizeof(__pyx_k_MESSAGE_SEND_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SEND_OK, __pyx_k_MESSAGE_SEND_OK, sizeof(__pyx_k_MESSAGE_SEND_OK), 0, 0, 1, 1},
  {&__pyx_n_s_MESSAGE_SEND_TIMEOUT, __pyx_k_MESSAGE_SEND_TIMEOUT, sizeof(__pyx_k_MESSAGE_SEND_TIMEOUT), 0, 0, 1, 1},
  {&__pyx_kp_s_Management_link_error, __pyx_k_Management_link_error, sizeof(__pyx_k_Management_link_error), 0, 0, 1, 0},
  {&__pyx_kp_s_Management_link_open_r, __pyx_k_Management_link_open_r, sizeof(__pyx_k_Management_link_open_r), 0, 0, 1, 0},
  {&__pyx_kp_s_Management_op_complete_r_status, __pyx_k_Management_op_complete_r_status, sizeof(__pyx_k_Management_op_complete_r_status), 0, 0, 1, 0},
  {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
  {&__pyx_n_s_MessageBodyType, __pyx_k_MessageBodyType, sizeof(__pyx_k_MessageBodyType), 0, 0, 1, 1},
  {&__pyx_kp_s_NULL_error_occurred_in, __pyx_k_NULL_error_occurred_in, sizeof(__pyx_k_NULL_error_occurred_in), 0, 0, 1, 0},
  {&__pyx_kp_s_No_item_found_at_index, __pyx_k_No_item_found_at_index, sizeof(__pyx_k_No_item_found_at_index), 0, 0, 1, 0},
  {&__pyx_kp_s_No_value_found_for_key, __pyx_k_No_value_found_for_key, sizeof(__pyx_k_No_value_found_for_key), 0, 0, 1, 0},
  {&__pyx_n_s_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 0, 1, 1},
  {&__pyx_n_s_NoneType, __pyx_k_NoneType, sizeof(__pyx_k_NoneType), 0, 0, 1, 1},
  {&__pyx_n_s_NullValue, __pyx_k_NullValue, sizeof(__pyx_k_NullValue), 0, 0, 1, 1},
  {&__pyx_n_s_OC_PIPE, __pyx_k_OC_PIPE, sizeof(__pyx_k_OC_PIPE), 0, 0, 1, 1},
  {&__pyx_n_s_OPENED, __pyx_k_OPENED, sizeof(__pyx_k_OPENED), 0, 0, 1, 1},
  {&__pyx_n_s_OPEN_PIPE, __pyx_k_OPEN_PIPE, sizeof(__pyx_k_OPEN_PIPE), 0, 0, 1, 1},
  {&__pyx_n_s_OPEN_RCVD, __pyx_k_OPEN_RCVD, sizeof(__pyx_k_OPEN_RCVD), 0, 0, 1, 1},
  {&__pyx_n_s_OPEN_SENT, __pyx_k_OPEN_SENT, sizeof(__pyx_k_OPEN_SENT), 0, 0, 1, 1},
  {&__pyx_kp_s_Operation_failed, __pyx_k_Operation_failed, sizeof(__pyx_k_Operation_failed), 0, 0, 1, 0},
  {&__pyx_n_s_PY3, __pyx_k_PY3, sizeof(__pyx_k_PY3), 0, 0, 1, 1},
  {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
  {&__pyx_kp_s_Put_Token_request_failed, __pyx_k_Put_Token_request_failed, sizeof(__pyx_k_Put_Token_request_failed), 0, 0, 1, 0},
  {&__pyx_n_s_RECEIVER_SETTLE_MODE_PEEKLOCK, __pyx_k_RECEIVER_SETTLE_MODE_PEEKLOCK, sizeof(__pyx_k_RECEIVER_SETTLE_MODE_PEEKLOCK), 0, 0, 1, 1},
  {&__pyx_n_s_RECEIVER_SETTLE_MODE_RECEIVEANDD, __pyx_k_RECEIVER_SETTLE_MODE_RECEIVEANDD, sizeof(__pyx_k_RECEIVER_SETTLE_MODE_RECEIVEANDD), 0, 0, 1, 1},
  {&__pyx_n_s_ROLE_RECEIVER, __pyx_k_ROLE_RECEIVER, sizeof(__pyx_k_ROLE_RECEIVER), 0, 0, 1, 1},
  {&__pyx_n_s_ROLE_SENDER, __pyx_k_ROLE_SENDER, sizeof(__pyx_k_ROLE_SENDER), 0, 0, 1, 1},
  {&__pyx_kp_s_Received_unrecognized_type_value, __pyx_k_Received_unrecognized_type_value, sizeof(__pyx_k_Received_unrecognized_type_value), 0, 0, 1, 0},
  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
  {&__pyx_kp_s_SASL_Mechanism_must_not_be_NULL, __pyx_k_SASL_Mechanism_must_not_be_NULL, sizeof(__pyx_k_SASL_Mechanism_must_not_be_NULL), 0, 0, 1, 0},
  {&__pyx_n_s_SENDER_SETTLE_MODE_MIXED, __pyx_k_SENDER_SETTLE_MODE_MIXED, sizeof(__pyx_k_SENDER_SETTLE_MODE_MIXED), 0, 0, 1, 1},
  {&__pyx_n_s_SENDER_SETTLE_MODE_SETTLED, __pyx_k_SENDER_SETTLE_MODE_SETTLED, sizeof(__pyx_k_SENDER_SETTLE_MODE_SETTLED), 0, 0, 1, 1},
  {&__pyx_n_s_SENDER_SETTLE_MODE_UNSETTLED, __pyx_k_SENDER_SETTLE_MODE_UNSETTLED, sizeof(__pyx_k_SENDER_SETTLE_MODE_UNSETTLED), 0, 0, 1, 1},
  {&__pyx_n_s_SESSION_ERROR_ERRANT_LINK, __pyx_k_SESSION_ERROR_ERRANT_LINK, sizeof(__pyx_k_SESSION_ERROR_ERRANT_LINK), 0, 0, 1, 1},
  {&__pyx_n_s_SESSION_ERROR_HANDLE_IN_USE, __pyx_k_SESSION_ERROR_HANDLE_IN_USE, sizeof(__pyx_k_SESSION_ERROR_HANDLE_IN_USE), 0, 0, 1, 1},
  {&__pyx_n_s_SESSION_ERROR_UNATTACHED_HANDLE, __pyx_k_SESSION_ERROR_UNATTACHED_HANDLE, sizeof(__pyx_k_SESSION_ERROR_UNATTACHED_HANDLE), 0, 0, 1, 1},
  {&__pyx_n_s_SESSION_ERROR_WINDOW_VIOLATION, __pyx_k_SESSION_ERROR_WINDOW_VIOLATION, sizeof(__pyx_k_SESSION_ERROR_WINDOW_VIOLATION), 0, 0, 1, 1},
  {&__pyx_n_s_START, __pyx_k_START, sizeof(__pyx_k_START), 0, 0, 1, 1},
  {&__pyx_kp_s_Send_operation_result_is_NULL, __pyx_k_Send_operation_result_is_NULL, sizeof(__pyx_k_Send_operation_result_is_NULL), 0, 0, 1, 0},
  {&__pyx_n_s_SequenceType, __pyx_k_SequenceType, sizeof(__pyx_k_SequenceType), 0, 0, 1, 1},
  {&__pyx_n_s_ShortValue, __pyx_k_ShortValue, sizeof(__pyx_k_ShortValue), 0, 0, 1, 1},
  {&__pyx_n_s_StringValue, __pyx_k_StringValue, sizeof(__pyx_k_StringValue), 0, 0, 1, 1},
  {&__pyx_n_s_SymbolValue, __pyx_k_SymbolValue, sizeof(__pyx_k_SymbolValue), 0, 0, 1, 1},
  {&__pyx_n_s_TimestampValue, __pyx_k_TimestampValue, sizeof(__pyx_k_TimestampValue), 0, 0, 1, 1},
  {&__pyx_kp_s_Token_has_expired, __pyx_k_Token_has_expired, sizeof(__pyx_k_Token_has_expired), 0, 0, 1, 0},
  {&__pyx_kp_s_Token_put_complete_with_result_r, __pyx_k_Token_put_complete_with_result_r, sizeof(__pyx_k_Token_put_complete_with_result_r), 0, 0, 1, 0},
  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
  {&__pyx_n_s_UByteValue, __pyx_k_UByteValue, sizeof(__pyx_k_UByteValue), 0, 0, 1, 1},
  {&__pyx_n_s_UIntValue, __pyx_k_UIntValue, sizeof(__pyx_k_UIntValue), 0, 0, 1, 1},
  {&__pyx_n_s_ULongValue, __pyx_k_ULongValue, sizeof(__pyx_k_ULongValue), 0, 0, 1, 1},
  {&__pyx_n_s_UNKNOWN, __pyx_k_UNKNOWN, sizeof(__pyx_k_UNKNOWN), 0, 0, 1, 1},
  {&__pyx_n_s_UShortValue, __pyx_k_UShortValue, sizeof(__pyx_k_UShortValue), 0, 0, 1, 1},
  {&__pyx_kp_s_UTF_8, __pyx_k_UTF_8, sizeof(__pyx_k_UTF_8), 0, 0, 1, 0},
  {&__pyx_n_s_UUID, __pyx_k_UUID, sizeof(__pyx_k_UUID), 0, 0, 1, 1},
  {&__pyx_n_s_UUIDValue, __pyx_k_UUIDValue, sizeof(__pyx_k_UUIDValue), 0, 0, 1, 1},
  {&__pyx_kp_s_Unable_to_close_CBS_link, __pyx_k_Unable_to_close_CBS_link, sizeof(__pyx_k_Unable_to_close_CBS_link), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_close_management_link, __pyx_k_Unable_to_close_management_link, sizeof(__pyx_k_Unable_to_close_management_link), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_create_CBS_Handle, __pyx_k_Unable_to_create_CBS_Handle, sizeof(__pyx_k_Unable_to_create_CBS_Handle), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_create_payload_data, __pyx_k_Unable_to_create_payload_data, sizeof(__pyx_k_Unable_to_create_payload_data), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_decode_ATTACH_frame_so, __pyx_k_Unable_to_decode_ATTACH_frame_so, sizeof(__pyx_k_Unable_to_decode_ATTACH_frame_so), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_decode_ATTACH_frame_ta, __pyx_k_Unable_to_decode_ATTACH_frame_ta, sizeof(__pyx_k_Unable_to_decode_ATTACH_frame_ta), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_execute_management_ope, __pyx_k_Unable_to_execute_management_ope, sizeof(__pyx_k_Unable_to_execute_management_ope), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_open_CBS_link, __pyx_k_Unable_to_open_CBS_link, sizeof(__pyx_k_Unable_to_open_CBS_link), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_open_management_link, __pyx_k_Unable_to_open_management_link, sizeof(__pyx_k_Unable_to_open_management_link), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_register_CLOSE_event_h, __pyx_k_Unable_to_register_CLOSE_event_h, sizeof(__pyx_k_Unable_to_register_CLOSE_event_h), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_register_DETACH_event, __pyx_k_Unable_to_register_DETACH_event, sizeof(__pyx_k_Unable_to_register_DETACH_event), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_retrieve_last_received, __pyx_k_Unable_to_retrieve_last_received, sizeof(__pyx_k_Unable_to_retrieve_last_received), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_retrieve_message_recei, __pyx_k_Unable_to_retrieve_message_recei, sizeof(__pyx_k_Unable_to_retrieve_message_recei), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_send_message_dispostit, __pyx_k_Unable_to_send_message_dispostit, sizeof(__pyx_k_Unable_to_send_message_dispostit), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_send_message_dispostit_2, __pyx_k_Unable_to_send_message_dispostit_2, sizeof(__pyx_k_Unable_to_send_message_dispostit_2), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_send_message_dispostit_3, __pyx_k_Unable_to_send_message_dispostit_3, sizeof(__pyx_k_Unable_to_send_message_dispostit_3), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_send_message_dispostit_4, __pyx_k_Unable_to_send_message_dispostit_4, sizeof(__pyx_k_Unable_to_send_message_dispostit_4), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_set_debug_trace, __pyx_k_Unable_to_set_debug_trace, sizeof(__pyx_k_Unable_to_set_debug_trace), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_set_link_attach_proper, __pyx_k_Unable_to_set_link_attach_proper, sizeof(__pyx_k_Unable_to_set_link_attach_proper), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_set_link_credit, __pyx_k_Unable_to_set_link_credit, sizeof(__pyx_k_Unable_to_set_link_credit), 0, 0, 1, 0},
  {&__pyx_kp_s_Unable_to_set_link_desired_capab, __pyx_k_Unable_to_set_link_desired_capab, sizeof(__pyx_k_Unable_to_set_link_desired_capab), 0, 0, 1, 0},
  {&__pyx_kp_s_UnderLying_IO_must_not_be_NULL, __pyx_k_UnderLying_IO_must_not_be_NULL, sizeof(__pyx_k_UnderLying_IO_must_not_be_NULL), 0, 0, 1, 0},
  {&__pyx_n_s_UnicodeDecodeError, __pyx_k_UnicodeDecodeError, sizeof(__pyx_k_UnicodeDecodeError), 0, 0, 1, 1},
  {&__pyx_n_s_UnknownType, __pyx_k_UnknownType, sizeof(__pyx_k_UnknownType), 0, 0, 1, 1},
  {&__pyx_kp_s_Unknown_MessageReceiver_state_ch, __pyx_k_Unknown_MessageReceiver_state_ch, sizeof(__pyx_k_Unknown_MessageReceiver_state_ch), 0, 0, 1, 0},
  {&__pyx_kp_s_Unknown_MessageSender_state_chan, __pyx_k_Unknown_MessageSender_state_chan, sizeof(__pyx_k_Unknown_MessageSender_state_chan), 0, 0, 1, 0},
  {&__pyx_kp_s_Unknown_connection_state_changed, __pyx_k_Unknown_connection_state_changed, sizeof(__pyx_k_Unknown_connection_state_changed), 0, 0, 1, 0},
  {&__pyx_kp_s_Unrecognized_AMQPType, __pyx_k_Unrecognized_AMQPType, sizeof(__pyx_k_Unrecognized_AMQPType), 0, 0, 1, 0},
  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
  {&__pyx_n_s_ValueType, __pyx_k_ValueType, sizeof(__pyx_k_ValueType), 0, 0, 1, 1},
  {&__pyx_kp_s_Wrapping_value_type_r, __pyx_k_Wrapping_value_type_r, sizeof(__pyx_k_Wrapping_value_type_r), 0, 0, 1, 0},
  {&__pyx_kp_b__296, __pyx_k__296, sizeof(__pyx_k__296), 0, 0, 0, 0},
  {&__pyx_n_s_add_body_data, __pyx_k_add_body_data, sizeof(__pyx_k_add_body_data), 0, 0, 1, 1},
  {&__pyx_n_s_add_body_sequence, __pyx_k_add_body_sequence, sizeof(__pyx_k_add_body_sequence), 0, 0, 1, 1},
  {&__pyx_n_s_address, __pyx_k_address, sizeof(__pyx_k_address), 0, 0, 1, 1},
  {&__pyx_kp_s_amqp_connection_forced, __pyx_k_amqp_connection_forced, sizeof(__pyx_k_amqp_connection_forced), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_connection_framing_error, __pyx_k_amqp_connection_framing_error, sizeof(__pyx_k_amqp_connection_framing_error), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_connection_redirect, __pyx_k_amqp_connection_redirect, sizeof(__pyx_k_amqp_connection_redirect), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_decode_error, __pyx_k_amqp_decode_error, sizeof(__pyx_k_amqp_decode_error), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_frame_size_too_small, __pyx_k_amqp_frame_size_too_small, sizeof(__pyx_k_amqp_frame_size_too_small), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_illegal_state, __pyx_k_amqp_illegal_state, sizeof(__pyx_k_amqp_illegal_state), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_internal_error, __pyx_k_amqp_internal_error, sizeof(__pyx_k_amqp_internal_error), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_invalid_field, __pyx_k_amqp_invalid_field, sizeof(__pyx_k_amqp_invalid_field), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_link_detach_forced, __pyx_k_amqp_link_detach_forced, sizeof(__pyx_k_amqp_link_detach_forced), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_link_message_size_exceeded, __pyx_k_amqp_link_message_size_exceeded, sizeof(__pyx_k_amqp_link_message_size_exceeded), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_link_redirect, __pyx_k_amqp_link_redirect, sizeof(__pyx_k_amqp_link_redirect), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_link_stolen, __pyx_k_amqp_link_stolen, sizeof(__pyx_k_amqp_link_stolen), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_link_transfer_limit_exceede, __pyx_k_amqp_link_transfer_limit_exceede, sizeof(__pyx_k_amqp_link_transfer_limit_exceede), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_not_allowed, __pyx_k_amqp_not_allowed, sizeof(__pyx_k_amqp_not_allowed), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_not_found, __pyx_k_amqp_not_found, sizeof(__pyx_k_amqp_not_found), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_not_implemented, __pyx_k_amqp_not_implemented, sizeof(__pyx_k_amqp_not_implemented), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_precondition_failed, __pyx_k_amqp_precondition_failed, sizeof(__pyx_k_amqp_precondition_failed), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_resource_deleted, __pyx_k_amqp_resource_deleted, sizeof(__pyx_k_amqp_resource_deleted), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_resource_limit_exceeded, __pyx_k_amqp_resource_limit_exceeded, sizeof(__pyx_k_amqp_resource_limit_exceeded), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_resource_locked, __pyx_k_amqp_resource_locked, sizeof(__pyx_k_amqp_resource_locked), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_session_errant_link, __pyx_k_amqp_session_errant_link, sizeof(__pyx_k_amqp_session_errant_link), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_session_handle_in_use, __pyx_k_amqp_session_handle_in_use, sizeof(__pyx_k_amqp_session_handle_in_use), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_session_unattached_handle, __pyx_k_amqp_session_unattached_handle, sizeof(__pyx_k_amqp_session_unattached_handle), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_session_window_violation, __pyx_k_amqp_session_window_violation, sizeof(__pyx_k_amqp_session_window_violation), 0, 0, 1, 0},
  {&__pyx_kp_s_amqp_unauthorized_access, __pyx_k_amqp_unauthorized_access, sizeof(__pyx_k_amqp_unauthorized_access), 0, 0, 1, 0},
  {&__pyx_n_s_annotations, __pyx_k_annotations, sizeof(__pyx_k_annotations), 0, 0, 1, 1},
  {&__pyx_kp_s_apache_org, __pyx_k_apache_org, sizeof(__pyx_k_apache_org), 0, 0, 1, 0},
  {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
  {&__pyx_n_s_as_string, __pyx_k_as_string, sizeof(__pyx_k_as_string), 0, 0, 1, 1},
  {&__pyx_n_s_attach_received, __pyx_k_attach_received, sizeof(__pyx_k_attach_received), 0, 0, 1, 1},
  {&__pyx_n_s_audience, __pyx_k_audience, sizeof(__pyx_k_audience), 0, 0, 1, 1},
  {&__pyx_n_s_authcid, __pyx_k_authcid, sizeof(__pyx_k_authcid), 0, 0, 1, 1},
  {&__pyx_n_s_authenticate, __pyx_k_authenticate, sizeof(__pyx_k_authenticate), 0, 0, 1, 1},
  {&__pyx_n_s_authzid, __pyx_k_authzid, sizeof(__pyx_k_authzid), 0, 0, 1, 1},
  {&__pyx_n_s_begin, __pyx_k_begin, sizeof(__pyx_k_begin), 0, 0, 1, 1},
  {&__pyx_n_s_binary_type, __pyx_k_binary_type, sizeof(__pyx_k_binary_type), 0, 0, 1, 1},
  {&__pyx_n_s_bool_value, __pyx_k_bool_value, sizeof(__pyx_k_bool_value), 0, 0, 1, 1},
  {&__pyx_n_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 1},
  {&__pyx_n_s_c_value, __pyx_k_c_value, sizeof(__pyx_k_c_value), 0, 0, 1, 1},
  {&__pyx_n_s_callback_context, __pyx_k_callback_context, sizeof(__pyx_k_callback_context), 0, 0, 1, 1},
  {&__pyx_n_s_cancel, __pyx_k_cancel, sizeof(__pyx_k_cancel), 0, 0, 1, 1},
  {&__pyx_n_s_category, __pyx_k_category, sizeof(__pyx_k_category), 0, 0, 1, 1},
  {&__pyx_n_s_cbs_error, __pyx_k_cbs_error, sizeof(__pyx_k_cbs_error), 0, 0, 1, 1},
  {&__pyx_n_s_cbs_open_complete, __pyx_k_cbs_open_complete, sizeof(__pyx_k_cbs_open_complete), 0, 0, 1, 1},
  {&__pyx_n_s_cbs_put_token_compelete, __pyx_k_cbs_put_token_compelete, sizeof(__pyx_k_cbs_put_token_compelete), 0, 0, 1, 1},
  {&__pyx_n_s_check_expiration_and_refresh_st, __pyx_k_check_expiration_and_refresh_st, sizeof(__pyx_k_check_expiration_and_refresh_st), 0, 0, 1, 1},
  {&__pyx_n_s_check_put_timeout_status, __pyx_k_check_put_timeout_status, sizeof(__pyx_k_check_put_timeout_status), 0, 0, 1, 1},
  {&__pyx_n_s_chr, __pyx_k_chr, sizeof(__pyx_k_chr), 0, 0, 1, 1},
  {&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1},
  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_clone, __pyx_k_clone, sizeof(__pyx_k_clone), 0, 0, 1, 1},
  {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
  {&__pyx_n_s_close_received, __pyx_k_close_received, sizeof(__pyx_k_close_received), 0, 0, 1, 1},
  {&__pyx_n_s_condition_value, __pyx_k_condition_value, sizeof(__pyx_k_condition_value), 0, 0, 1, 1},
  {&__pyx_n_s_connection, __pyx_k_connection, sizeof(__pyx_k_connection), 0, 0, 1, 1},
  {&__pyx_n_s_connection_id, __pyx_k_connection_id, sizeof(__pyx_k_connection_id), 0, 0, 1, 1},
  {&__pyx_n_s_container_id, __pyx_k_container_id, sizeof(__pyx_k_container_id), 0, 0, 1, 1},
  {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
  {&__pyx_n_s_count_body_data, __pyx_k_count_body_data, sizeof(__pyx_k_count_body_data), 0, 0, 1, 1},
  {&__pyx_n_s_count_body_sequence, __pyx_k_count_body_sequence, sizeof(__pyx_k_count_body_sequence), 0, 0, 1, 1},
  {&__pyx_n_s_create, __pyx_k_create, sizeof(__pyx_k_create), 0, 0, 1, 1},
  {&__pyx_n_s_create_source, __pyx_k_create_source, sizeof(__pyx_k_create_source), 0, 0, 1, 1},
  {&__pyx_n_s_create_target, __pyx_k_create_target, sizeof(__pyx_k_create_target), 0, 0, 1, 1},
  {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
  {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1},
  {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
  {&__pyx_n_s_deepcopy, __pyx_k_deepcopy, sizeof(__pyx_k_deepcopy), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_accepted, __pyx_k_delivery_accepted, sizeof(__pyx_k_delivery_accepted), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_failed, __pyx_k_delivery_failed, sizeof(__pyx_k_delivery_failed), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_fields, __pyx_k_delivery_fields, sizeof(__pyx_k_delivery_fields), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_modified, __pyx_k_delivery_modified, sizeof(__pyx_k_delivery_modified), 0, 0, 1, 1},
  {&__pyx_kp_s_delivery_modified_r_r, __pyx_k_delivery_modified_r_r, sizeof(__pyx_k_delivery_modified_r_r), 0, 0, 1, 0},
  {&__pyx_n_s_delivery_received, __pyx_k_delivery_received, sizeof(__pyx_k_delivery_received), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_rejected, __pyx_k_delivery_rejected, sizeof(__pyx_k_delivery_rejected), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_released, __pyx_k_delivery_released, sizeof(__pyx_k_delivery_released), 0, 0, 1, 1},
  {&__pyx_n_s_delivery_state, __pyx_k_delivery_state, sizeof(__pyx_k_delivery_state), 0, 0, 1, 1},
  {&__pyx_n_s_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 0, 1, 1},
  {&__pyx_n_s_descriptor, __pyx_k_descriptor, sizeof(__pyx_k_descriptor), 0, 0, 1, 1},
  {&__pyx_n_s_destroy, __pyx_k_destroy, sizeof(__pyx_k_destroy), 0, 0, 1, 1},
  {&__pyx_n_s_detach_received, __pyx_k_detach_received, sizeof(__pyx_k_detach_received), 0, 0, 1, 1},
  {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
  {&__pyx_n_s_do_work, __pyx_k_do_work, sizeof(__pyx_k_do_work), 0, 0, 1, 1},
  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
  {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
  {&__pyx_n_s_encoded_data, __pyx_k_encoded_data, sizeof(__pyx_k_encoded_data), 0, 0, 1, 1},
  {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1},
  {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
  {&__pyx_n_s_enum, __pyx_k_enum, sizeof(__pyx_k_enum), 0, 0, 1, 1},
  {&__pyx_n_s_error_code, __pyx_k_error_code, sizeof(__pyx_k_error_code), 0, 0, 1, 1},
  {&__pyx_n_s_error_condition, __pyx_k_error_condition, sizeof(__pyx_k_error_condition), 0, 0, 1, 1},
  {&__pyx_n_s_error_description, __pyx_k_error_description, sizeof(__pyx_k_error_description), 0, 0, 1, 1},
  {&__pyx_n_s_error_info, __pyx_k_error_info, sizeof(__pyx_k_error_info), 0, 0, 1, 1},
  {&__pyx_n_s_error_message, __pyx_k_error_message, sizeof(__pyx_k_error_message), 0, 0, 1, 1},
  {&__pyx_n_s_execute, __pyx_k_execute, sizeof(__pyx_k_execute), 0, 0, 1, 1},
  {&__pyx_n_s_expires_at, __pyx_k_expires_at, sizeof(__pyx_k_expires_at), 0, 0, 1, 1},
  {&__pyx_n_s_expiry, __pyx_k_expiry, sizeof(__pyx_k_expiry), 0, 0, 1, 1},
  {&__pyx_n_s_false, __pyx_k_false, sizeof(__pyx_k_false), 0, 0, 1, 1},
  {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
  {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
  {&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1},
  {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
  {&__pyx_n_s_getLogger, __pyx_k_getLogger, sizeof(__pyx_k_getLogger), 0, 0, 1, 1},
  {&__pyx_n_s_get_body_data, __pyx_k_get_body_data, sizeof(__pyx_k_get_body_data), 0, 0, 1, 1},
  {&__pyx_n_s_get_body_sequence, __pyx_k_get_body_sequence, sizeof(__pyx_k_get_body_sequence), 0, 0, 1, 1},
  {&__pyx_n_s_get_body_value, __pyx_k_get_body_value, sizeof(__pyx_k_get_body_value), 0, 0, 1, 1},
  {&__pyx_n_s_get_current_ms, __pyx_k_get_current_ms, sizeof(__pyx_k_get_current_ms), 0, 0, 1, 1},
  {&__pyx_n_s_get_encoded_size, __pyx_k_get_encoded_size, sizeof(__pyx_k_get_encoded_size), 0, 0, 1, 1},
  {&__pyx_n_s_get_failure_info, __pyx_k_get_failure_info, sizeof(__pyx_k_get_failure_info), 0, 0, 1, 1},
  {&__pyx_n_s_get_status, __pyx_k_get_status, sizeof(__pyx_k_get_status), 0, 0, 1, 1},
  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
  {&__pyx_n_s_hostname, __pyx_k_hostname, sizeof(__pyx_k_hostname), 0, 0, 1, 1},
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
  {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1},
  {&__pyx_n_s_interface, __pyx_k_interface, sizeof(__pyx_k_interface), 0, 0, 1, 1},
  {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1},
  {&__pyx_n_s_io_config, __pyx_k_io_config, sizeof(__pyx_k_io_config), 0, 0, 1, 1},
  {&__pyx_n_s_io_desc, __pyx_k_io_desc, sizeof(__pyx_k_io_desc), 0, 0, 1, 1},
  {&__pyx_n_s_io_error, __pyx_k_io_error, sizeof(__pyx_k_io_error), 0, 0, 1, 1},
  {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
  {&__pyx_n_s_keyname, __pyx_k_keyname, sizeof(__pyx_k_keyname), 0, 0, 1, 1},
  {&__pyx_n_s_last_received_message_number, __pyx_k_last_received_message_number, sizeof(__pyx_k_last_received_message_number), 0, 0, 1, 1},
  {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1},
  {&__pyx_n_s_link, __pyx_k_link, sizeof(__pyx_k_link), 0, 0, 1, 1},
  {&__pyx_n_s_links, __pyx_k_links, sizeof(__pyx_k_links), 0, 0, 1, 1},
  {&__pyx_n_s_list_size, __pyx_k_list_size, sizeof(__pyx_k_list_size), 0, 0, 1, 1},
  {&__pyx_n_s_locales, __pyx_k_locales, sizeof(__pyx_k_locales), 0, 0, 1, 1},
  {&__pyx_n_s_log_line, __pyx_k_log_line, sizeof(__pyx_k_log_line), 0, 0, 1, 1},
  {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1},
  {&__pyx_n_s_logging, __pyx_k_logging, sizeof(__pyx_k_logging), 0, 0, 1, 1},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_n_s_management_node, __pyx_k_management_node, sizeof(__pyx_k_management_node), 0, 0, 1, 1},
  {&__pyx_n_s_management_open_complete, __pyx_k_management_open_complete, sizeof(__pyx_k_management_open_complete), 0, 0, 1, 1},
  {&__pyx_n_s_management_operation_error, __pyx_k_management_operation_error, sizeof(__pyx_k_management_operation_error), 0, 0, 1, 1},
  {&__pyx_n_s_memory_error, __pyx_k_memory_error, sizeof(__pyx_k_memory_error), 0, 0, 1, 1},
  {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1},
  {&__pyx_n_s_message_annotations, __pyx_k_message_annotations, sizeof(__pyx_k_message_annotations), 0, 0, 1, 1},
  {&__pyx_n_s_message_body, __pyx_k_message_body, sizeof(__pyx_k_message_body), 0, 0, 1, 1},
  {&__pyx_n_s_message_number, __pyx_k_message_number, sizeof(__pyx_k_message_number), 0, 0, 1, 1},
  {&__pyx_n_s_message_received, __pyx_k_message_received, sizeof(__pyx_k_message_received), 0, 0, 1, 1},
  {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
  {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
  {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
  {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
  {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
  {&__pyx_n_s_null_error, __pyx_k_null_error, sizeof(__pyx_k_null_error), 0, 0, 1, 1},
  {&__pyx_n_s_on_cbs_error, __pyx_k_on_cbs_error, sizeof(__pyx_k_on_cbs_error), 0, 0, 1, 1},
  {&__pyx_n_s_on_cbs_open_complete, __pyx_k_on_cbs_open_complete, sizeof(__pyx_k_on_cbs_open_complete), 0, 0, 1, 1},
  {&__pyx_n_s_on_cbs_put_token_complete, __pyx_k_on_cbs_put_token_complete, sizeof(__pyx_k_on_cbs_put_token_complete), 0, 0, 1, 1},
  {&__pyx_n_s_on_link_attached_context, __pyx_k_on_link_attached_context, sizeof(__pyx_k_on_link_attached_context), 0, 0, 1, 1},
  {&__pyx_n_s_on_message_sent, __pyx_k_on_message_sent, sizeof(__pyx_k_on_message_sent), 0, 0, 1, 1},
  {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
  {&__pyx_n_s_operation, __pyx_k_operation, sizeof(__pyx_k_operation), 0, 0, 1, 1},
  {&__pyx_n_s_option_name, __pyx_k_option_name, sizeof(__pyx_k_option_name), 0, 0, 1, 1},
  {&__pyx_n_s_parameters, __pyx_k_parameters, sizeof(__pyx_k_parameters), 0, 0, 1, 1},
  {&__pyx_n_s_passwd, __pyx_k_passwd, sizeof(__pyx_k_passwd), 0, 0, 1, 1},
  {&__pyx_n_s_password, __pyx_k_password, sizeof(__pyx_k_password), 0, 0, 1, 1},
  {&__pyx_n_s_payload_bytes, __pyx_k_payload_bytes, sizeof(__pyx_k_payload_bytes), 0, 0, 1, 1},
  {&__pyx_n_s_payload_size, __pyx_k_payload_size, sizeof(__pyx_k_payload_size), 0, 0, 1, 1},
  {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
  {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
  {&__pyx_n_s_port, __pyx_k_port, sizeof(__pyx_k_port), 0, 0, 1, 1},
  {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
  {&__pyx_n_s_protocol, __pyx_k_protocol, sizeof(__pyx_k_protocol), 0, 0, 1, 1},
  {&__pyx_n_s_proxy_hostname, __pyx_k_proxy_hostname, sizeof(__pyx_k_proxy_hostname), 0, 0, 1, 1},
  {&__pyx_n_s_proxy_port, __pyx_k_proxy_port, sizeof(__pyx_k_proxy_port), 0, 0, 1, 1},
  {&__pyx_n_s_python_log, __pyx_k_python_log, sizeof(__pyx_k_python_log), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_Messaging, __pyx_k_pyx_unpickle_Messaging, sizeof(__pyx_k_pyx_unpickle_Messaging), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_StructBase, __pyx_k_pyx_unpickle_StructBase, sizeof(__pyx_k_pyx_unpickle_StructBase), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
  {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
  {&__pyx_kp_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 0},
  {&__pyx_kp_s_r_r_r_r, __pyx_k_r_r_r_r, sizeof(__pyx_k_r_r_r_r), 0, 0, 1, 0},
  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
  {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
  {&__pyx_n_s_refresh, __pyx_k_refresh, sizeof(__pyx_k_refresh), 0, 0, 1, 1},
  {&__pyx_n_s_refresh_token, __pyx_k_refresh_token, sizeof(__pyx_k_refresh_token), 0, 0, 1, 1},
  {&__pyx_n_s_resource_name, __pyx_k_resource_name, sizeof(__pyx_k_resource_name), 0, 0, 1, 1},
  {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1},
  {&__pyx_n_s_role, __pyx_k_role, sizeof(__pyx_k_role), 0, 0, 1, 1},
  {&__pyx_n_s_sasl_client, __pyx_k_sasl_client, sizeof(__pyx_k_sasl_client), 0, 0, 1, 1},
  {&__pyx_n_s_sasl_mechanism, __pyx_k_sasl_mechanism, sizeof(__pyx_k_sasl_mechanism), 0, 0, 1, 1},
  {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
  {&__pyx_n_s_section_number, __pyx_k_section_number, sizeof(__pyx_k_section_number), 0, 0, 1, 1},
  {&__pyx_n_s_section_offset, __pyx_k_section_offset, sizeof(__pyx_k_section_offset), 0, 0, 1, 1},
  {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
  {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1},
  {&__pyx_n_s_set_attach_properties, __pyx_k_set_attach_properties, sizeof(__pyx_k_set_attach_properties), 0, 0, 1, 1},
  {&__pyx_n_s_set_body_value, __pyx_k_set_body_value, sizeof(__pyx_k_set_body_value), 0, 0, 1, 1},
  {&__pyx_n_s_set_certificates, __pyx_k_set_certificates, sizeof(__pyx_k_set_certificates), 0, 0, 1, 1},
  {&__pyx_n_s_set_desired_capabilities, __pyx_k_set_desired_capabilities, sizeof(__pyx_k_set_desired_capabilities), 0, 0, 1, 1},
  {&__pyx_n_s_set_option, __pyx_k_set_option, sizeof(__pyx_k_set_option), 0, 0, 1, 1},
  {&__pyx_n_s_set_prefetch_count, __pyx_k_set_prefetch_count, sizeof(__pyx_k_set_prefetch_count), 0, 0, 1, 1},
  {&__pyx_n_s_set_proxy_config, __pyx_k_set_proxy_config, sizeof(__pyx_k_set_proxy_config), 0, 0, 1, 1},
  {&__pyx_n_s_set_response_field_names, __pyx_k_set_response_field_names, sizeof(__pyx_k_set_response_field_names), 0, 0, 1, 1},
  {&__pyx_n_s_set_tlsio_config, __pyx_k_set_tlsio_config, sizeof(__pyx_k_set_tlsio_config), 0, 0, 1, 1},
  {&__pyx_n_s_set_trace, __pyx_k_set_trace, sizeof(__pyx_k_set_trace), 0, 0, 1, 1},
  {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
  {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_settle_accepted_message, __pyx_k_settle_accepted_message, sizeof(__pyx_k_settle_accepted_message), 0, 0, 1, 1},
  {&__pyx_n_s_settle_modified_message, __pyx_k_settle_modified_message, sizeof(__pyx_k_settle_modified_message), 0, 0, 1, 1},
  {&__pyx_n_s_settle_rejected_message, __pyx_k_settle_rejected_message, sizeof(__pyx_k_settle_rejected_message), 0, 0, 1, 1},
  {&__pyx_n_s_settle_released_message, __pyx_k_settle_released_message, sizeof(__pyx_k_settle_released_message), 0, 0, 1, 1},
  {&__pyx_n_s_six, __pyx_k_six, sizeof(__pyx_k_six), 0, 0, 1, 1},
  {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
  {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
  {&__pyx_kp_s_src_message_pyx, __pyx_k_src_message_pyx, sizeof(__pyx_k_src_message_pyx), 0, 0, 1, 0},
  {&__pyx_kp_s_src_xlogging_pyx, __pyx_k_src_xlogging_pyx, sizeof(__pyx_k_src_xlogging_pyx), 0, 0, 1, 0},
  {&__pyx_n_s_state_changed, __pyx_k_state_changed, sizeof(__pyx_k_state_changed), 0, 0, 1, 1},
  {&__pyx_n_s_staticmethod, __pyx_k_staticmethod, sizeof(__pyx_k_staticmethod), 0, 0, 1, 1},
  {&__pyx_n_s_status_code, __pyx_k_status_code, sizeof(__pyx_k_status_code), 0, 0, 1, 1},
  {&__pyx_n_s_status_description, __pyx_k_status_description, sizeof(__pyx_k_status_description), 0, 0, 1, 1},
  {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
  {&__pyx_n_s_subscribe_to_close_event, __pyx_k_subscribe_to_close_event, sizeof(__pyx_k_subscribe_to_close_event), 0, 0, 1, 1},
  {&__pyx_n_s_subscribe_to_detach_event, __pyx_k_subscribe_to_detach_event, sizeof(__pyx_k_subscribe_to_detach_event), 0, 0, 1, 1},
  {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
  {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1},
  {&__pyx_n_s_text_bldr, __pyx_k_text_bldr, sizeof(__pyx_k_text_bldr), 0, 0, 1, 1},
  {&__pyx_n_s_text_type, __pyx_k_text_type, sizeof(__pyx_k_text_type), 0, 0, 1, 1},
  {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1},
  {&__pyx_n_s_timeout, __pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 0, 1, 1},
  {&__pyx_n_s_token, __pyx_k_token, sizeof(__pyx_k_token), 0, 0, 1, 1},
  {&__pyx_n_s_token_type, __pyx_k_token_type, sizeof(__pyx_k_token_type), 0, 0, 1, 1},
  {&__pyx_n_s_true, __pyx_k_true, sizeof(__pyx_k_true), 0, 0, 1, 1},
  {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
  {&__pyx_n_s_type_2, __pyx_k_type_2, sizeof(__pyx_k_type_2), 0, 0, 1, 1},
  {&__pyx_n_s_uamqp_c_uamqp, __pyx_k_uamqp_c_uamqp, sizeof(__pyx_k_uamqp_c_uamqp), 0, 0, 1, 1},
  {&__pyx_n_s_undeliverable_here, __pyx_k_undeliverable_here, sizeof(__pyx_k_undeliverable_here), 0, 0, 1, 1},
  {&__pyx_n_s_underlying_io, __pyx_k_underlying_io, sizeof(__pyx_k_underlying_io), 0, 0, 1, 1},
  {&__pyx_n_s_underlying_io_interface, __pyx_k_underlying_io_interface, sizeof(__pyx_k_underlying_io_interface), 0, 0, 1, 1},
  {&__pyx_n_s_underlying_io_parameters, __pyx_k_underlying_io_parameters, sizeof(__pyx_k_underlying_io_parameters), 0, 0, 1, 1},
  {&__pyx_n_s_unsubscribe_to_close_event, __pyx_k_unsubscribe_to_close_event, sizeof(__pyx_k_unsubscribe_to_close_event), 0, 0, 1, 1},
  {&__pyx_n_s_unsubscribe_to_detach_event, __pyx_k_unsubscribe_to_detach_event, sizeof(__pyx_k_unsubscribe_to_detach_event), 0, 0, 1, 1},
  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
  {&__pyx_n_s_update_status, __pyx_k_update_status, sizeof(__pyx_k_update_status), 0, 0, 1, 1},
  {&__pyx_n_s_username, __pyx_k_username, sizeof(__pyx_k_username), 0, 0, 1, 1},
  {&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1},
  {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
  {&__pyx_n_s_value_2, __pyx_k_value_2, sizeof(__pyx_k_value_2), 0, 0, 1, 1},
  {&__pyx_n_s_value_error, __pyx_k_value_error, sizeof(__pyx_k_value_error), 0, 0, 1, 1},
  {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 304, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 29, __pyx_L1_error)
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(2, 2, __pyx_L1_error)
  __pyx_builtin_UnicodeDecodeError = __Pyx_GetBuiltinName(__pyx_n_s_UnicodeDecodeError); if (!__pyx_builtin_UnicodeDecodeError) __PYX_ERR(3, 51, __pyx_L1_error)
  __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(3, 81, __pyx_L1_error)
  __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(4, 589, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(4, 708, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(4, 744, __pyx_L1_error)
  __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(4, 764, __pyx_L1_error)
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(5, 23, __pyx_L1_error)
  __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(6, 195, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(7, 77, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "src/amqp_definitions.pyx":29
 *     body_data = c_amqp_definitions.amqpvalue_create_data(_binary)
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")             # <<<<<<<<<<<<<<
 *     return value_factory(body_data)
 * 
 */
  __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_Unable_to_create_payload_data); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple_);
  __Pyx_GIVEREF(__pyx_tuple_);

  /* "src/amqp_definitions.pyx":36
 *     body_data = c_amqp_definitions.amqpvalue_create_amqp_sequence(<c_amqpvalue.AMQP_VALUE>sequence_data._c_value)
 *     if <void*>body_data == NULL:
 *         raise ValueError("Unable to create payload data")             # <<<<<<<<<<<<<<
 *     return value_factory(body_data)
 */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_create_payload_data); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);

  /* "src/amqp_management.pyx":33
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cManagementOperation")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cManagementOperatio); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(8, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);

  /* "src/amqp_management.pyx":42
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cManagementOperation")             # <<<<<<<<<<<<<<
 *             c_amqp_management.amqp_management_destroy(self._c_value)
 *             self._c_value = <c_amqp_management.AMQP_MANAGEMENT_HANDLE>NULL
 */
  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cManagementOperation); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(8, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);

  /* "src/amqp_management.pyx":64
 *     cpdef set_response_field_names(self, const char* status_code, const char* status_description):
 *         if c_amqp_management.amqp_management_set_override_status_code_key_name(self._c_value, status_code) != 0:
 *             self._value_error("Failed to set status code field name.")             # <<<<<<<<<<<<<<
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 *             self._value_error("Failed to set status description field name.")
 */
  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_status_code_field); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(8, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__5);
  __Pyx_GIVEREF(__pyx_tuple__5);

  /* "src/amqp_management.pyx":66
 *             self._value_error("Failed to set status code field name.")
 *         if c_amqp_management.amqp_management_set_override_status_description_key_name(self._c_value, status_description) != 0:
 *             self._value_error("Failed to set status description field name.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self, callback_context):
 */
  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_status_description); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(8, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_GIVEREF(__pyx_tuple__6);

  /* "src/amqp_management.pyx":75
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_open_async(self._c_value, on_amqp_management_open_complete, context, on_amqp_management_error, context) != 0:
 *             self._value_error("Unable to open management link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef close(self):
 */
  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_open_management_link); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(8, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);

  /* "src/amqp_management.pyx":79
 *     cpdef close(self):
 *         if c_amqp_management.amqp_management_close(self._c_value) != 0:
 *             self._value_error("Unable to close management link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef execute(self, const char* operation, const char* type, locales, cMessage message, callback_context):
 */
  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_close_management_link); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(8, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__8);
  __Pyx_GIVEREF(__pyx_tuple__8);

  /* "src/amqp_management.pyx":93
 *             context = <void*>callback_context
 *         if c_amqp_management.amqp_management_execute_operation_async(self._c_value, operation, type, c_locales, message._c_value, on_execute_operation_complete, context) != 0:
 *             self._value_error("Unable to execute management operation.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_execute_management_ope); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(8, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__9);
  __Pyx_GIVEREF(__pyx_tuple__9);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);

  /* "src/amqp_management.pyx":105
 * 
 * cdef void on_amqp_management_error(void* context):
 *     _logger.debug("Management link error")             # <<<<<<<<<<<<<<
 *     if context != NULL:
 *         context_obj = <object>context
 */
  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_Management_link_error); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(8, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__12);
  __Pyx_GIVEREF(__pyx_tuple__12);

  /* "src/amqp_string.pyx":40
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating AMQPString")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_AMQPString); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(3, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);

  /* "src/amqp_string.pyx":79
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying AMQPString")             # <<<<<<<<<<<<<<
 *                 c_strings.STRING_delete(self._c_value)
 *         except KeyboardInterrupt:
 */
  __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_Destroying_AMQPString); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(3, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__14);
  __Pyx_GIVEREF(__pyx_tuple__14);

  /* "src/amqp_string.pyx":99
 *         if isinstance(other, AMQPString):
 *             if c_strings.STRING_concat_with_STRING(self._c_value, <c_strings.STRING_HANDLE>other._c_value) != 0:
 *                 self._value_error("Failed to append AMQPString value.")             # <<<<<<<<<<<<<<
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:
 */
  __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_append_AMQPString_valu); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(3, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);

  /* "src/amqp_string.pyx":102
 *         else:
 *             if c_strings.STRING_concat(self._c_value, <char*>other) != 0:
 *                 self._value_error("Failed to append string.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef clone(self):
 */
  __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_append_string); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(3, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);

  /* "src/amqp_string.pyx":108
 *         value = c_strings.STRING_clone(self._c_value)
 *         if <void*>value == NULL:
 *             self._null_error("Failed to clone AMQPString value.")             # <<<<<<<<<<<<<<
 *         cloned_value = AMQPString()
 *         cloned_value.wrap(value)
 */
  __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_clone_AMQPString_value); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(3, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__18);
  __Pyx_GIVEREF(__pyx_tuple__18);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);

  /* "src/amqpvalue.pyx":47
 *                                      <c_amqpvalue.AMQPVALUE_ENCODER_OUTPUT>encode_bytes_callback,
 *                                      <void*>message_body) != 0:
 *         raise ValueError("Failed to encode batched message data.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_encode_batched_message); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(4, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__20);
  __Pyx_GIVEREF(__pyx_tuple__20);

  /* "src/amqpvalue.pyx":222
 * cpdef uuid_value(value):
 *     if not isinstance(value, uuid.UUID):
 *         raise TypeError("Input value must be type UUID.")             # <<<<<<<<<<<<<<
 *     new_obj = UUIDValue()
 *     new_obj.create(<bytes>value.bytes)
 */
  __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_Input_value_must_be_type_UUID); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(4, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);

  /* "src/amqpvalue.pyx":297
 *         if six.PY3:
 *             try:
 *                 return as_bytes.decode('UTF-8')             # <<<<<<<<<<<<<<
 *             except UnicodeDecodeError:
 *                 pass
 */
  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(4, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__22);
  __Pyx_GIVEREF(__pyx_tuple__22);

  /* "src/amqpvalue.pyx":305
 *         as_bytes = self._as_string()
 *         try:
 *             return six.text_type(as_bytes.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *         except UnicodeDecodeError:
 *             return six.text_type(as_bytes)
 */
  __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(4, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);

  /* "src/amqpvalue.pyx":358
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")             # <<<<<<<<<<<<<<
 *         return length
 * 
 */
  __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_encoded_size); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(4, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__26);
  __Pyx_GIVEREF(__pyx_tuple__26);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__28);
  __Pyx_GIVEREF(__pyx_tuple__28);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__30);
  __Pyx_GIVEREF(__pyx_tuple__30);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__32);
  __Pyx_GIVEREF(__pyx_tuple__32);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__33 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__33);
  __Pyx_GIVEREF(__pyx_tuple__33);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__34);
  __Pyx_GIVEREF(__pyx_tuple__34);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__35);
  __Pyx_GIVEREF(__pyx_tuple__35);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__36);
  __Pyx_GIVEREF(__pyx_tuple__36);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__37);
  __Pyx_GIVEREF(__pyx_tuple__37);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__38);
  __Pyx_GIVEREF(__pyx_tuple__38);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__39);
  __Pyx_GIVEREF(__pyx_tuple__39);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__40);
  __Pyx_GIVEREF(__pyx_tuple__40);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__42);
  __Pyx_GIVEREF(__pyx_tuple__42);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__43);
  __Pyx_GIVEREF(__pyx_tuple__43);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__44);
  __Pyx_GIVEREF(__pyx_tuple__44);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__45);
  __Pyx_GIVEREF(__pyx_tuple__45);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__47);
  __Pyx_GIVEREF(__pyx_tuple__47);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__48);
  __Pyx_GIVEREF(__pyx_tuple__48);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__49);
  __Pyx_GIVEREF(__pyx_tuple__49);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__50);
  __Pyx_GIVEREF(__pyx_tuple__50);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__51);
  __Pyx_GIVEREF(__pyx_tuple__51);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__52);
  __Pyx_GIVEREF(__pyx_tuple__52);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__53);
  __Pyx_GIVEREF(__pyx_tuple__53);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__54);
  __Pyx_GIVEREF(__pyx_tuple__54);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__55);
  __Pyx_GIVEREF(__pyx_tuple__55);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__57 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__57);
  __Pyx_GIVEREF(__pyx_tuple__57);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__58 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__58);
  __Pyx_GIVEREF(__pyx_tuple__58);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__59);
  __Pyx_GIVEREF(__pyx_tuple__59);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__60);
  __Pyx_GIVEREF(__pyx_tuple__60);

  /* "src/amqpvalue.pyx":708
 *     def __getitem__(self, size_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_list_item(self._c_value, index)
 */
  __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(4, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "src/amqpvalue.pyx":721
 *         assert value.type
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_list_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()
 */
  __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(4, 721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__62);
  __Pyx_GIVEREF(__pyx_tuple__62);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__63);
  __Pyx_GIVEREF(__pyx_tuple__63);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__64);
  __Pyx_GIVEREF(__pyx_tuple__64);

  /* "src/amqpvalue.pyx":776
 *     def get(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE key
 *         cdef c_amqpvalue.AMQP_VALUE value
 */
  __pyx_tuple__65 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(4, 776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__65);
  __Pyx_GIVEREF(__pyx_tuple__65);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__66);
  __Pyx_GIVEREF(__pyx_tuple__66);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__67 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__67);
  __Pyx_GIVEREF(__pyx_tuple__67);

  /* "src/amqpvalue.pyx":815
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_array_item(self._c_value, index)
 */
  __pyx_tuple__68 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(4, 815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__69 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__69);
  __Pyx_GIVEREF(__pyx_tuple__69);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__70 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__70);
  __Pyx_GIVEREF(__pyx_tuple__70);

  /* "src/amqpvalue.pyx":864
 *     def __getitem__(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item(self._c_value, index)
 */
  __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(4, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__71);
  __Pyx_GIVEREF(__pyx_tuple__71);

  /* "src/amqpvalue.pyx":877
 *         assert value.type
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         if c_amqpvalue.amqpvalue_set_composite_item(self._c_value, index, value._c_value) != 0:
 *             self._value_error()
 */
  __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(4, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__72);
  __Pyx_GIVEREF(__pyx_tuple__72);

  /* "src/amqpvalue.pyx":892
 *     def pop(self, stdint.uint32_t index):
 *         if index >= self.size:
 *             raise IndexError("Index is out of range.")             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE value
 *         value = c_amqpvalue.amqpvalue_get_composite_item_in_place(self._c_value, index)
 */
  __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_Index_is_out_of_range); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(4, 892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__73);
  __Pyx_GIVEREF(__pyx_tuple__73);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__74);
  __Pyx_GIVEREF(__pyx_tuple__74);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__75 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__75);
  __Pyx_GIVEREF(__pyx_tuple__75);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__76 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__76);
  __Pyx_GIVEREF(__pyx_tuple__76);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__77 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__77);
  __Pyx_GIVEREF(__pyx_tuple__77);

  /* "src/annotations.pyx":110
 *         cdef size_t length
 *         if c_amqpvalue.amqpvalue_get_encoded_size(self._c_value, &length) != 0:
 *             self._value_error("Failed to get encoded size.")             # <<<<<<<<<<<<<<
 *         return length
 * 
 */
  __pyx_tuple__78 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_encoded_size); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(9, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__78);
  __Pyx_GIVEREF(__pyx_tuple__78);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__79 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__79);
  __Pyx_GIVEREF(__pyx_tuple__79);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__80 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__80);
  __Pyx_GIVEREF(__pyx_tuple__80);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__81 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__81);
  __Pyx_GIVEREF(__pyx_tuple__81);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__82 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__82);
  __Pyx_GIVEREF(__pyx_tuple__82);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__83 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__83);
  __Pyx_GIVEREF(__pyx_tuple__83);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__84 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__84);
  __Pyx_GIVEREF(__pyx_tuple__84);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__85 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__85);
  __Pyx_GIVEREF(__pyx_tuple__85);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__86 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__86);
  __Pyx_GIVEREF(__pyx_tuple__86);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__87 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__87);
  __Pyx_GIVEREF(__pyx_tuple__87);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__88 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__88);
  __Pyx_GIVEREF(__pyx_tuple__88);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__89 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__89);
  __Pyx_GIVEREF(__pyx_tuple__89);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__90 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__90);
  __Pyx_GIVEREF(__pyx_tuple__90);

  /* "src/async_operation.pyx":30
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying AsyncOperation")             # <<<<<<<<<<<<<<
 *             c_async_operation.async_operation_destroy(self._c_value)
 *             self._c_value = <c_async_operation.ASYNC_OPERATION_HANDLE>NULL
 */
  __pyx_tuple__91 = PyTuple_Pack(1, __pyx_kp_s_Destroying_AsyncOperation); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(10, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__91);
  __Pyx_GIVEREF(__pyx_tuple__91);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__92 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__92);
  __Pyx_GIVEREF(__pyx_tuple__92);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__93 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__93);
  __Pyx_GIVEREF(__pyx_tuple__93);

  /* "src/base.pyx":47
 *         self._c_value = c_utils.tickcounter_create()
 *         if <void*>self._c_value == NULL:
 *             raise MemoryError("Failed to create tick counter.")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_tuple__94 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_tick_counter); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(5, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__94);
  __Pyx_GIVEREF(__pyx_tuple__94);

  /* "src/base.pyx":60
 *         cdef c_utils.tickcounter_ms_t current_ms
 *         if c_utils.tickcounter_get_current_ms(self._c_value, &current_ms) != 0:
 *             raise ValueError("Failed to get current ms time.")             # <<<<<<<<<<<<<<
 *         return current_ms
 */
  __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_current_ms_time); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(5, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__95);
  __Pyx_GIVEREF(__pyx_tuple__95);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__96 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__96);
  __Pyx_GIVEREF(__pyx_tuple__96);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__97 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__97);
  __Pyx_GIVEREF(__pyx_tuple__97);

  /* "src/cbs.pyx":32
 * 
 *     if <void*>str_value == NULL:
 *         raise ValueError("Failed to create SAS token.")             # <<<<<<<<<<<<<<
 *     if c_utils.SASToken_Validate(str_value) != True:
 *         raise ValueError("Generated invalid SAS token")
 */
  __pyx_tuple__98 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_SAS_token); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(11, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__98);
  __Pyx_GIVEREF(__pyx_tuple__98);

  /* "src/cbs.pyx":34
 *         raise ValueError("Failed to create SAS token.")
 *     if c_utils.SASToken_Validate(str_value) != True:
 *         raise ValueError("Generated invalid SAS token")             # <<<<<<<<<<<<<<
 *     return c_strings.STRING_c_str(str_value)
 *     #c_strings.STRING_delete(str_value)
 */
  __pyx_tuple__99 = PyTuple_Pack(1, __pyx_kp_s_Generated_invalid_SAS_token); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(11, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__99);
  __Pyx_GIVEREF(__pyx_tuple__99);

  /* "src/cbs.pyx":71
 *         self._session = session
 *         if <void*>self._cbs_handle == NULL:
 *             raise MemoryError("Unable to create CBS Handle.")             # <<<<<<<<<<<<<<
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 *             raise ValueError("Unable to open CBS link.")
 */
  __pyx_tuple__100 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_create_CBS_Handle); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(11, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__100);
  __Pyx_GIVEREF(__pyx_tuple__100);

  /* "src/cbs.pyx":73
 *             raise MemoryError("Unable to create CBS Handle.")
 *         if c_cbs.cbs_open_async(self._cbs_handle, <c_cbs.ON_CBS_OPEN_COMPLETE>on_cbs_open_complete, <void*>self, <c_cbs.ON_CBS_ERROR>on_cbs_error, <void*>self) != 0:
 *             raise ValueError("Unable to open CBS link.")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_tuple__101 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_open_CBS_link); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(11, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__101);
  __Pyx_GIVEREF(__pyx_tuple__101);

  /* "src/cbs.pyx":76
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating CBSTokenAuth")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__102 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_CBSTokenAuth); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__102);
  __Pyx_GIVEREF(__pyx_tuple__102);

  /* "src/cbs.pyx":88
 *     cpdef close(self):
 *         if c_cbs.cbs_close(self._cbs_handle) != 0:
 *             self._value_error("Unable to close CBS link.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_trace(self, bint trace_on):
 */
  __pyx_tuple__103 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_close_CBS_link); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(11, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__103);
  __Pyx_GIVEREF(__pyx_tuple__103);

  /* "src/cbs.pyx":92
 *     cpdef set_trace(self, bint trace_on):
 *         if c_cbs.cbs_set_trace(self._cbs_handle, trace_on) != 0:
 *             raise ValueError("Unable to set debug trace.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef authenticate(self):
 */
  __pyx_tuple__104 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_set_debug_trace); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(11, 92, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__104);
  __Pyx_GIVEREF(__pyx_tuple__104);

  /* "src/cbs.pyx":99
 *         current_time = int(time.time())
 *         if current_time >= self.expires_at:
 *             raise ValueError("Token has expired")             # <<<<<<<<<<<<<<
 *         self._token_put_time = current_time
 *         if c_cbs.cbs_put_token_async(
 */
  __pyx_tuple__105 = PyTuple_Pack(1, __pyx_kp_s_Token_has_expired); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(11, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__105);
  __Pyx_GIVEREF(__pyx_tuple__105);

  /* "src/cbs.pyx":108
 *                 <c_cbs.ON_CBS_OPERATION_COMPLETE>on_cbs_put_token_complete,
 *                 <void*>self) != 0:
 *             raise ValueError("Put-Token request failed.")             # <<<<<<<<<<<<<<
 *         else:
 *             self.state = AUTH_STATUS_IN_PROGRESS
 */
  __pyx_tuple__106 = PyTuple_Pack(1, __pyx_kp_s_Put_Token_request_failed); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(11, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__106);
  __Pyx_GIVEREF(__pyx_tuple__106);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__107 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__107);
  __Pyx_GIVEREF(__pyx_tuple__107);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__108 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__108);
  __Pyx_GIVEREF(__pyx_tuple__108);

  /* "src/cbs.pyx":186
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_open_complete during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__109 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_cbs_open_complete); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(11, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__109);
  __Pyx_GIVEREF(__pyx_tuple__109);

  /* "src/cbs.pyx":196
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_error during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__110 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_cbs_error_during_g); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(11, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__110);
  __Pyx_GIVEREF(__pyx_tuple__110);

  /* "src/cbs.pyx":208
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_cbs_put_token_complete during garbage collection.")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__111 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_cbs_put_token_comp); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(11, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__111);
  __Pyx_GIVEREF(__pyx_tuple__111);

  /* "src/connection.pyx":56
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating Connection")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__112 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_Connection); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(6, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__112);
  __Pyx_GIVEREF(__pyx_tuple__112);

  /* "src/connection.pyx":71
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying Connection")             # <<<<<<<<<<<<<<
 *             c_connection.connection_destroy(self._c_value)
 *             self._c_value = <c_connection.CONNECTION_HANDLE>NULL
 */
  __pyx_tuple__113 = PyTuple_Pack(1, __pyx_kp_s_Destroying_Connection); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(6, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__113);
  __Pyx_GIVEREF(__pyx_tuple__113);

  /* "src/connection.pyx":108
 *             <void*>on_close_received)
 *         if <void*>self._close_event == NULL:
 *             self._value_error("Unable to register CLOSE event handler.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef unsubscribe_to_close_event(self):
 */
  __pyx_tuple__114 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_register_CLOSE_event_h); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(6, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__114);
  __Pyx_GIVEREF(__pyx_tuple__114);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__115 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__115);
  __Pyx_GIVEREF(__pyx_tuple__115);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__116 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__116);
  __Pyx_GIVEREF(__pyx_tuple__116);

  /* "src/connection.pyx":190
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_connection_state_changed during garbage collection")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__117 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_connection_state_c); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(6, 190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__117);
  __Pyx_GIVEREF(__pyx_tuple__117);

  /* "src/error.pyx":38
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cError")             # <<<<<<<<<<<<<<
 *         #self.destroy()
 * 
 */
  __pyx_tuple__118 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cError); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(12, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__118);
  __Pyx_GIVEREF(__pyx_tuple__118);

  /* "src/error.pyx":47
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cError")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.error_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.ERROR_HANDLE>NULL
 */
  __pyx_tuple__119 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cError); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(12, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__119);
  __Pyx_GIVEREF(__pyx_tuple__119);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__120 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__120);
  __Pyx_GIVEREF(__pyx_tuple__120);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__121 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__121);
  __Pyx_GIVEREF(__pyx_tuple__121);

  /* "src/header.pyx":34
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cHeader")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__122 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cHeader); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(13, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__122);
  __Pyx_GIVEREF(__pyx_tuple__122);

  /* "src/header.pyx":44
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cHeader")             # <<<<<<<<<<<<<<
 *                 c_amqp_definitions.header_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
  __pyx_tuple__123 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cHeader); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(13, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__123);
  __Pyx_GIVEREF(__pyx_tuple__123);

  /* "src/header.pyx":79
 *         if c_amqp_definitions.header_set_delivery_count(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'delivery_count'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__124 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_set_delivery_count); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(13, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__124);
  __Pyx_GIVEREF(__pyx_tuple__124);

  /* "src/header.pyx":95
 *         if c_amqp_definitions.header_set_ttl(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'time_to_live'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__125 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_set_time_to_live); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(13, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__125);
  __Pyx_GIVEREF(__pyx_tuple__125);

  /* "src/header.pyx":111
 *         if c_amqp_definitions.header_set_durable(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'durable'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__126 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_set_durable); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(13, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__126);
  __Pyx_GIVEREF(__pyx_tuple__126);

  /* "src/header.pyx":127
 *         if c_amqp_definitions.header_set_first_acquirer(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'first_acquirer'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__127 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_set_first_acquirer); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(13, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__127);
  __Pyx_GIVEREF(__pyx_tuple__127);

  /* "src/header.pyx":143
 *         if c_amqp_definitions.header_set_priority(
 *             self._c_value, value) != 0:
 *                 self._value_error("Couldn't set 'priority'.")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__128 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_set_priority); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(13, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__128);
  __Pyx_GIVEREF(__pyx_tuple__128);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__129 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__129);
  __Pyx_GIVEREF(__pyx_tuple__129);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__130 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__130);
  __Pyx_GIVEREF(__pyx_tuple__130);

  /* "src/link.pyx":38
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cLink")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__131 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cLink); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(14, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__131);
  __Pyx_GIVEREF(__pyx_tuple__131);

  /* "src/link.pyx":53
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cLink")             # <<<<<<<<<<<<<<
 *             c_link.link_destroy(self._c_value)
 *             self._c_value = <c_link.LINK_HANDLE>NULL
 */
  __pyx_tuple__132 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cLink); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(14, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__132);
  __Pyx_GIVEREF(__pyx_tuple__132);

  /* "src/link.pyx":76
 *             <void*>on_detch_received)
 *         if <void*>self._detach_event == NULL:
 *             self._value_error("Unable to register DETACH event handler.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef unsubscribe_to_detach_event(self):
 */
  __pyx_tuple__133 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_register_DETACH_event); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(14, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__133);
  __Pyx_GIVEREF(__pyx_tuple__133);

  /* "src/link.pyx":155
 *     cpdef set_prefetch_count(self, stdint.uint32_t prefetch):
 *         if c_link.link_set_max_link_credit(self._c_value, prefetch) != 0:
 *             self._value_error("Unable to set link credit.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_attach_properties(self, AMQPValue properties):
 */
  __pyx_tuple__134 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_set_link_credit); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(14, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__134);
  __Pyx_GIVEREF(__pyx_tuple__134);

  /* "src/link.pyx":159
 *     cpdef set_attach_properties(self, AMQPValue properties):
 *         if c_link.link_set_attach_properties(self._c_value, <c_amqp_definitions.fields>properties._c_value) != 0:
 *             self._value_error("Unable to set link attach properties.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 */
  __pyx_tuple__135 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_set_link_attach_proper); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(14, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__135);
  __Pyx_GIVEREF(__pyx_tuple__135);

  /* "src/link.pyx":163
 *     cpdef set_desired_capabilities(self, AMQPValue desired_capabilities):
 *         if c_link.link_set_desired_capabilities(self._c_value, <c_amqpvalue.AMQP_VALUE>desired_capabilities._c_value) != 0:
 *             self._value_error("Unable to set link desired capabilities.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__136 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_set_link_desired_capab); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(14, 163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__136);
  __Pyx_GIVEREF(__pyx_tuple__136);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__137 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__137);
  __Pyx_GIVEREF(__pyx_tuple__137);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__138 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__138);
  __Pyx_GIVEREF(__pyx_tuple__138);

  /* "src/message.pyx":49
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessage")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__139 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cMessage); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__139);
  __Pyx_GIVEREF(__pyx_tuple__139);

  /* "src/message.pyx":59
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cMessage")             # <<<<<<<<<<<<<<
 *                 c_message.message_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
  __pyx_tuple__140 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cMessage); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__140);
  __Pyx_GIVEREF(__pyx_tuple__140);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__141 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__141);
  __Pyx_GIVEREF(__pyx_tuple__141);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__142 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__142);
  __Pyx_GIVEREF(__pyx_tuple__142);

  /* "src/message.pyx":309
 *         _value = c_message.messaging_create_source(address)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging source.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__143 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_me); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__143);
  __Pyx_GIVEREF(__pyx_tuple__143);

  /* "src/message.pyx":317
 *         _value = c_message.messaging_create_target(address)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for messaging target.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__144 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_me_2); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__144);
  __Pyx_GIVEREF(__pyx_tuple__144);

  /* "src/message.pyx":325
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for received delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__145 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_re); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__145);
  __Pyx_GIVEREF(__pyx_tuple__145);

  /* "src/message.pyx":333
 *         _value = c_message.messaging_delivery_accepted()
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for accepted delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__146 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_ac); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__146);
  __Pyx_GIVEREF(__pyx_tuple__146);

  /* "src/message.pyx":347
 *         _value = c_message.messaging_delivery_rejected(error_condition, error_description, delivery_fields)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for rejected delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__147 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_re_2); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__147);
  __Pyx_GIVEREF(__pyx_tuple__147);

  /* "src/message.pyx":355
 *         _value = c_message.messaging_delivery_released()
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for released delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__148 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_re_3); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__148);
  __Pyx_GIVEREF(__pyx_tuple__148);

  /* "src/message.pyx":364
 *         _value = c_message.messaging_delivery_modified(delivery_failed, undeliverable_here, <c_amqp_definitions.fields>message_annotations._c_value)
 *         if <void*>_value == NULL:
 *             raise MemoryError("Failed to allocate memory for modified delivery.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__149 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_allocate_memory_for_mo); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__149);
  __Pyx_GIVEREF(__pyx_tuple__149);

  /* "src/message.pyx":424
 *         # message format
 *         if (c_message.message_get_body_type(c_msg, &message_body_type) != 0) or (c_message.message_get_message_format(c_msg, &message_format) != 0):
 *             raise ValueError("Failure getting message body type and/or message format")             # <<<<<<<<<<<<<<
 * 
 *         # message header
 */
  __pyx_tuple__150 = PyTuple_Pack(1, __pyx_kp_s_Failure_getting_message_body_typ); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(0, 424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__150);
  __Pyx_GIVEREF(__pyx_tuple__150);

  /* "src/message.pyx":430
 *             header_amqp_value = c_amqp_definitions.amqpvalue_create_header(header)
 *             if <void*>header_amqp_value == NULL:
 *                 _logger.debug("Cannot create header AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__151 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_header_AMQP_value); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__151);
  __Pyx_GIVEREF(__pyx_tuple__151);

  /* "src/message.pyx":434
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage header.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:
 */
  __pyx_tuple__152 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_cMessage_header); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__152);
  __Pyx_GIVEREF(__pyx_tuple__152);

  /* "src/message.pyx":437
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(header_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain header encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__153 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_header_encoded_siz); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(0, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__153);
  __Pyx_GIVEREF(__pyx_tuple__153);

  /* "src/message.pyx":441
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain header encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
  __pyx_tuple__154 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_header_encoded_siz); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(0, 441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__154);
  __Pyx_GIVEREF(__pyx_tuple__154);

  /* "src/message.pyx":448
 *         if c_message.message_get_message_annotations(c_msg, &msg_annotations) == 0 and <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_get_encoded_size(msg_annotations, &encoded_size) != 0:
 *                 _logger.debug("Cannot obtain message annotations encoded size")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__155 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_message_annotation); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(0, 448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__155);
  __Pyx_GIVEREF(__pyx_tuple__155);

  /* "src/message.pyx":452
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot obtain message annotations encoded size")             # <<<<<<<<<<<<<<
 *             else:
 *                 total_encoded_size += encoded_size
 */
  __pyx_tuple__156 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_message_annotation); if (unlikely(!__pyx_tuple__156)) __PYX_ERR(0, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__156);
  __Pyx_GIVEREF(__pyx_tuple__156);

  /* "src/message.pyx":460
 *             properties_amqp_value = c_amqp_definitions.amqpvalue_create_properties(properties)
 *             if <void*>properties_amqp_value == NULL:
 *                 _logger.debug("Cannot create properties AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__157 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_properties_AMQP_va); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__157);
  __Pyx_GIVEREF(__pyx_tuple__157);

  /* "src/message.pyx":464
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage properties.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:
 */
  __pyx_tuple__158 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_cMessage_properties); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__158);
  __Pyx_GIVEREF(__pyx_tuple__158);

  /* "src/message.pyx":467
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(properties_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain message properties encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__159 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_message_properties); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(0, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__159);
  __Pyx_GIVEREF(__pyx_tuple__159);

  /* "src/message.pyx":471
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain message properties encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
  __pyx_tuple__160 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_message_properties); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__160);
  __Pyx_GIVEREF(__pyx_tuple__160);

  /* "src/message.pyx":479
 *             application_properties_value = c_amqp_definitions.amqpvalue_create_application_properties(application_properties)
 *             if <void*>application_properties_value == NULL:
 *                 _logger.debug("Cannot create application properties AMQP value")             # <<<<<<<<<<<<<<
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__161 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_application_proper); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(0, 479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__161);
  __Pyx_GIVEREF(__pyx_tuple__161);

  /* "src/message.pyx":483
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot get cMessage application properties.")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:
 */
  __pyx_tuple__162 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_cMessage_application); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(0, 483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__162);
  __Pyx_GIVEREF(__pyx_tuple__162);

  /* "src/message.pyx":486
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(application_properties_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot obtain application properties encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__163 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_application_proper); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__163);
  __Pyx_GIVEREF(__pyx_tuple__163);

  /* "src/message.pyx":490
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot obtain application properties encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
  __pyx_tuple__164 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_application_proper); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(0, 490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__164);
  __Pyx_GIVEREF(__pyx_tuple__164);

  /* "src/message.pyx":500
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot obtain AMQP value from body")             # <<<<<<<<<<<<<<
 *             body_amqp_value = c_amqp_definitions.amqpvalue_create_amqp_value(message_body_amqp_value)
 *             if <void*>body_amqp_value == NULL:
 */
  __pyx_tuple__165 = PyTuple_Pack(1, __pyx_kp_s_Cannot_obtain_AMQP_value_from_bo); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__165);
  __Pyx_GIVEREF(__pyx_tuple__165);

  /* "src/message.pyx":506
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise MemoryError("Cannot create body AMQP value")             # <<<<<<<<<<<<<<
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:
 */
  __pyx_tuple__166 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_body_AMQP_value); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(0, 506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__166);
  __Pyx_GIVEREF(__pyx_tuple__166);

  /* "src/message.pyx":509
 *             else:
 *                 if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_value, &encoded_size) != 0:
 *                     _logger.debug("Cannot get body AMQP value encoded size")             # <<<<<<<<<<<<<<
 *                     destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__167 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_body_AMQP_value_encod); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(0, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__167);
  __Pyx_GIVEREF(__pyx_tuple__167);

  /* "src/message.pyx":513
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise ValueError("Cannot get body AMQP value encoded size")             # <<<<<<<<<<<<<<
 *                 else:
 *                     total_encoded_size += encoded_size
 */
  __pyx_tuple__168 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_body_AMQP_value_encod); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(0, 513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__168);
  __Pyx_GIVEREF(__pyx_tuple__168);

  /* "src/message.pyx":523
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot get body AMQP data count")             # <<<<<<<<<<<<<<
 *             if body_data_count == 0:
 *                 destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 */
  __pyx_tuple__169 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_body_AMQP_data_count); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(0, 523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__169);
  __Pyx_GIVEREF(__pyx_tuple__169);

  /* "src/message.pyx":528
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Body data count is zero")             # <<<<<<<<<<<<<<
 *             for i in range(body_data_count):
 *                 if c_message.message_get_body_amqp_data_in_place(c_msg, i, &binary_data) != 0:
 */
  __pyx_tuple__170 = PyTuple_Pack(1, __pyx_kp_s_Body_data_count_is_zero); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(0, 528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__170);
  __Pyx_GIVEREF(__pyx_tuple__170);

  /* "src/message.pyx":543
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise MemoryError("Cannot create body AMQP data")             # <<<<<<<<<<<<<<
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:
 */
  __pyx_tuple__171 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_body_AMQP_data); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(0, 543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__171);
  __Pyx_GIVEREF(__pyx_tuple__171);

  /* "src/message.pyx":546
 *                 else:
 *                     if c_amqpvalue.amqpvalue_get_encoded_size(body_amqp_data, &encoded_size) != 0:
 *                         _logger.debug("Cannot get body AMQP data encoded size")             # <<<<<<<<<<<<<<
 *                         destroy_amqp_objects_in_get_encoded_message_size(header, header_amqp_value, msg_annotations,
 *                             properties, properties_amqp_value, application_properties, application_properties_value,
 */
  __pyx_tuple__172 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_body_AMQP_data_encode); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(0, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__172);
  __Pyx_GIVEREF(__pyx_tuple__172);

  /* "src/message.pyx":551
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 *                         raise ValueError("Cannot get body AMQP data encoded size")             # <<<<<<<<<<<<<<
 *                     else:
 *                         total_encoded_size += encoded_size
 */
  __pyx_tuple__173 = PyTuple_Pack(1, __pyx_kp_s_Cannot_get_body_AMQP_data_encode); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__173);
  __Pyx_GIVEREF(__pyx_tuple__173);

  /* "src/message.pyx":565
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode header value")             # <<<<<<<<<<<<<<
 *         if <void*>msg_annotations != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
  __pyx_tuple__174 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_header_value); if (unlikely(!__pyx_tuple__174)) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__174);
  __Pyx_GIVEREF(__pyx_tuple__174);

  /* "src/message.pyx":574
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message annotations value")             # <<<<<<<<<<<<<<
 *         if <void*>properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
  __pyx_tuple__175 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_message_annotation); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__175);
  __Pyx_GIVEREF(__pyx_tuple__175);

  /* "src/message.pyx":583
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode message properties value")             # <<<<<<<<<<<<<<
 *         if <void*>application_properties != NULL:
 *             if c_amqpvalue.amqpvalue_encode(
 */
  __pyx_tuple__176 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_message_properties); if (unlikely(!__pyx_tuple__176)) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__176);
  __Pyx_GIVEREF(__pyx_tuple__176);

  /* "src/message.pyx":592
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode application properties value")             # <<<<<<<<<<<<<<
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE:
 *             if c_amqpvalue.amqpvalue_encode(
 */
  __pyx_tuple__177 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_application_proper); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(0, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__177);
  __Pyx_GIVEREF(__pyx_tuple__177);

  /* "src/message.pyx":601
 *                     properties, properties_amqp_value, application_properties, application_properties_value,
 *                     body_amqp_value)
 *                 raise ValueError("Cannot encode body AMQP value")             # <<<<<<<<<<<<<<
 *         if message_body_type == c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA:
 *             for i in range(body_data_count):
 */
  __pyx_tuple__178 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_body_AMQP_value); if (unlikely(!__pyx_tuple__178)) __PYX_ERR(0, 601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__178);
  __Pyx_GIVEREF(__pyx_tuple__178);

  /* "src/message.pyx":617
 *                         properties, properties_amqp_value, application_properties, application_properties_value,
 *                         body_amqp_value)
 *                     raise MemoryError("Cannot create body AMQP data")             # <<<<<<<<<<<<<<
 *                 else:
 *                     if c_amqpvalue.amqpvalue_encode(
 */
  __pyx_tuple__179 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_body_AMQP_data); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(0, 617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__179);
  __Pyx_GIVEREF(__pyx_tuple__179);

  /* "src/message.pyx":627
 *                             body_amqp_value)
 *                         c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 *                         raise ValueError("Cannot encode body AMQP value")             # <<<<<<<<<<<<<<
 *                     c_amqpvalue.amqpvalue_destroy(body_amqp_data)
 * 
 */
  __pyx_tuple__180 = PyTuple_Pack(1, __pyx_kp_s_Cannot_encode_body_AMQP_value); if (unlikely(!__pyx_tuple__180)) __PYX_ERR(0, 627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__180);
  __Pyx_GIVEREF(__pyx_tuple__180);

  /* "src/message.pyx":645
 *         self.decoded_message = c_message.message_create()
 *         if <void*>self.decoded_message == NULL:
 *             raise MemoryError("Failed to create message decoder.")             # <<<<<<<<<<<<<<
 *         self.decode_error = <const char*>NULL
 * 
 */
  __pyx_tuple__181 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_message_decoder); if (unlikely(!__pyx_tuple__181)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__181);
  __Pyx_GIVEREF(__pyx_tuple__181);

  /* "src/message.pyx":649
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageDecoder")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__182 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cMessageDecoder); if (unlikely(!__pyx_tuple__182)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__182);
  __Pyx_GIVEREF(__pyx_tuple__182);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__183 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__183);
  __Pyx_GIVEREF(__pyx_tuple__183);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__184 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__184)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__184);
  __Pyx_GIVEREF(__pyx_tuple__184);

  /* "src/message.pyx":659
 *     amqpvalue_decoder = c_amqpvalue.amqpvalue_decoder_create(<c_amqpvalue.ON_VALUE_DECODED>decode_message_data, <void*>message_decoder);
 *     if <void*>amqpvalue_decoder == NULL:
 *         raise MemoryError("Cannot create AMQP value decoder")             # <<<<<<<<<<<<<<
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:
 */
  __pyx_tuple__185 = PyTuple_Pack(1, __pyx_kp_s_Cannot_create_AMQP_value_decoder); if (unlikely(!__pyx_tuple__185)) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__185);
  __Pyx_GIVEREF(__pyx_tuple__185);

  /* "src/message.pyx":662
 *     else:
 *         if c_amqpvalue.amqpvalue_decode_bytes(amqpvalue_decoder, payload_bytes, payload_size) != 0:
 *             raise ValueError("Cannot decode bytes")             # <<<<<<<<<<<<<<
 *         else:
 *             if <void*>message_decoder.decode_error != NULL:
 */
  __pyx_tuple__186 = PyTuple_Pack(1, __pyx_kp_s_Cannot_decode_bytes); if (unlikely(!__pyx_tuple__186)) __PYX_ERR(0, 662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__186);
  __Pyx_GIVEREF(__pyx_tuple__186);

  /* "src/message_receiver.pyx":37
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageReceiver")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__187 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cMessageReceiver); if (unlikely(!__pyx_tuple__187)) __PYX_ERR(7, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__187);
  __Pyx_GIVEREF(__pyx_tuple__187);

  /* "src/message_receiver.pyx":50
 *         self._validate()
 *         if c_message_receiver.messagereceiver_get_link_name(self._c_value, &self._link_name)!= 0:
 *             self._value_error("Unable to retrieve message receiver link name.")             # <<<<<<<<<<<<<<
 * 
 *     cpdef open(self, callback_context):
 */
  __pyx_tuple__188 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_retrieve_message_recei); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(7, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__188);
  __Pyx_GIVEREF(__pyx_tuple__188);

  /* "src/message_receiver.pyx":62
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageReceiver")             # <<<<<<<<<<<<<<
 *             c_message_receiver.messagereceiver_destroy(self._c_value)
 *             self._c_value = <c_message_receiver.MESSAGE_RECEIVER_HANDLE>NULL
 */
  __pyx_tuple__189 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cMessageReceiver); if (unlikely(!__pyx_tuple__189)) __PYX_ERR(7, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__189);
  __Pyx_GIVEREF(__pyx_tuple__189);

  /* "src/message_receiver.pyx":70
 *         cdef c_amqp_definitions.delivery_number message_number
 *         if c_message_receiver.messagereceiver_get_received_message_id(self._c_value, &message_number) != 0:
 *             self._value_error("Unable to retrieve last received message number.")             # <<<<<<<<<<<<<<
 *         return message_number
 * 
 */
  __pyx_tuple__190 = PyTuple_Pack(1, __pyx_kp_s_Unable_to_retrieve_last_received); if (unlikely(!__pyx_tuple__190)) __PYX_ERR(7, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__190);
  __Pyx_GIVEREF(__pyx_tuple__190);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__191 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__191)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__191);
  __Pyx_GIVEREF(__pyx_tuple__191);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__192 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__192)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__192);
  __Pyx_GIVEREF(__pyx_tuple__192);

  /* "src/message_receiver.pyx":127
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__193 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_state_changed_duri); if (unlikely(!__pyx_tuple__193)) __PYX_ERR(7, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__193);
  __Pyx_GIVEREF(__pyx_tuple__193);

  /* "src/message_receiver.pyx":144
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _message_received during garbage collection")             # <<<<<<<<<<<<<<
 *             return <c_amqpvalue.AMQP_VALUE>NULL
 *         context_obj = <object>context
 */
  __pyx_tuple__194 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call__message_received_dur); if (unlikely(!__pyx_tuple__194)) __PYX_ERR(7, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__194);
  __Pyx_GIVEREF(__pyx_tuple__194);

  /* "src/message_sender.pyx":45
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cMessageSender")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__195 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cMessageSender); if (unlikely(!__pyx_tuple__195)) __PYX_ERR(15, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__195);
  __Pyx_GIVEREF(__pyx_tuple__195);

  /* "src/message_sender.pyx":69
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cMessageSender")             # <<<<<<<<<<<<<<
 *             c_message_sender.messagesender_destroy(self._c_value)
 *             self._c_value = <c_message_sender.MESSAGE_SENDER_HANDLE>NULL
 */
  __pyx_tuple__196 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cMessageSender); if (unlikely(!__pyx_tuple__196)) __PYX_ERR(15, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__196);
  __Pyx_GIVEREF(__pyx_tuple__196);

  /* "src/message_sender.pyx":89
 *         operation = c_message_sender.messagesender_send_async(self._c_value, <c_message.MESSAGE_HANDLE>message._c_value, on_message_send_complete, <void*>callback_context, timeout)
 *         if <void*>operation is NULL:
 *             _logger.info("Send operation result is NULL")             # <<<<<<<<<<<<<<
 *             return False
 *         return True
 */
  __pyx_tuple__197 = PyTuple_Pack(1, __pyx_kp_s_Send_operation_result_is_NULL); if (unlikely(!__pyx_tuple__197)) __PYX_ERR(15, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__197);
  __Pyx_GIVEREF(__pyx_tuple__197);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__198 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__198)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__198);
  __Pyx_GIVEREF(__pyx_tuple__198);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__199 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__199)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__199);
  __Pyx_GIVEREF(__pyx_tuple__199);

  /* "src/message_sender.pyx":110
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call _on_message_sent during garbage collection")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__200 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call__on_message_sent_duri); if (unlikely(!__pyx_tuple__200)) __PYX_ERR(15, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__200);
  __Pyx_GIVEREF(__pyx_tuple__200);

  /* "src/message_sender.pyx":121
 *         context_pyobj = <PyObject*>context
 *         if context_pyobj.ob_refcnt == 0: # context is being garbage collected, skip the callback
 *             _logger.warning("Can't call on_state_changed during garbage collection, please be sure to close or use a context manager")             # <<<<<<<<<<<<<<
 *             return
 *         context_obj = <object>context
 */
  __pyx_tuple__201 = PyTuple_Pack(1, __pyx_kp_s_Can_t_call_on_state_changed_duri); if (unlikely(!__pyx_tuple__201)) __PYX_ERR(15, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__201);
  __Pyx_GIVEREF(__pyx_tuple__201);

  /* "src/platform.pyx":22
 * cpdef platform_init():
 *     if c_platform.platform_init() != 0:
 *         raise ValueError("Failed to initialize platform.")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__202 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_initialize_platform); if (unlikely(!__pyx_tuple__202)) __PYX_ERR(16, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__202);
  __Pyx_GIVEREF(__pyx_tuple__202);

  /* "src/platform.pyx":26
 * 
 * cpdef platform_deinit():
 *     _logger.debug("Deinitializing platform")             # <<<<<<<<<<<<<<
 *     c_platform.platform_deinit()
 * 
 */
  __pyx_tuple__203 = PyTuple_Pack(1, __pyx_kp_s_Deinitializing_platform); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__203);
  __Pyx_GIVEREF(__pyx_tuple__203);

  /* "src/platform.pyx":42
 *     io_desc = c_platform.platform_get_default_tlsio()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create tlsio description.")             # <<<<<<<<<<<<<<
 * 
 *     interface = IOInterfaceDescription()
 */
  __pyx_tuple__204 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_tlsio_descripti); if (unlikely(!__pyx_tuple__204)) __PYX_ERR(16, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__204);
  __Pyx_GIVEREF(__pyx_tuple__204);

  /* "src/properties.pyx":40
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cProperties")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__205 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cProperties); if (unlikely(!__pyx_tuple__205)) __PYX_ERR(17, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__205);
  __Pyx_GIVEREF(__pyx_tuple__205);

  /* "src/properties.pyx":50
 *         try:
 *             if <void*>self._c_value is not NULL:
 *                 _logger.debug("Destroying cProperties")             # <<<<<<<<<<<<<<
 *                 c_amqp_definitions.properties_destroy(self._c_value)
 *         except KeyboardInterrupt:
 */
  __pyx_tuple__206 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cProperties); if (unlikely(!__pyx_tuple__206)) __PYX_ERR(17, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__206);
  __Pyx_GIVEREF(__pyx_tuple__206);

  /* "src/properties.pyx":102
 *         if c_amqp_definitions.properties_set_message_id(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'message_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__207 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_message_id); if (unlikely(!__pyx_tuple__207)) __PYX_ERR(17, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__207);
  __Pyx_GIVEREF(__pyx_tuple__207);

  /* "src/properties.pyx":119
 *         _binary.bytes = value
 *         if c_amqp_definitions.properties_set_user_id(self._c_value, _binary) != 0:
 *             self._value_error("Could not set 'user_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__208 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_user_id); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(17, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__208);
  __Pyx_GIVEREF(__pyx_tuple__208);

  /* "src/properties.pyx":139
 *         if c_amqp_definitions.properties_set_to(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'to'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__209 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_to); if (unlikely(!__pyx_tuple__209)) __PYX_ERR(17, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__209);
  __Pyx_GIVEREF(__pyx_tuple__209);

  /* "src/properties.pyx":155
 *         if c_amqp_definitions.properties_set_subject(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'subject'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__210 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_subject); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(17, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__210);
  __Pyx_GIVEREF(__pyx_tuple__210);

  /* "src/properties.pyx":175
 *         if c_amqp_definitions.properties_set_reply_to(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'reply_to'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__211 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_reply_to); if (unlikely(!__pyx_tuple__211)) __PYX_ERR(17, 175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__211);
  __Pyx_GIVEREF(__pyx_tuple__211);

  /* "src/properties.pyx":195
 *         if c_amqp_definitions.properties_set_correlation_id(
 *             self._c_value, value._c_value) != 0:
 *                 self._value_error("Could not set 'correlation_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__212 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_correlation_id); if (unlikely(!__pyx_tuple__212)) __PYX_ERR(17, 195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__212);
  __Pyx_GIVEREF(__pyx_tuple__212);

  /* "src/properties.pyx":211
 *         if c_amqp_definitions.properties_set_content_type(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_type'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__213 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_content_type); if (unlikely(!__pyx_tuple__213)) __PYX_ERR(17, 211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__213);
  __Pyx_GIVEREF(__pyx_tuple__213);

  /* "src/properties.pyx":227
 *         if c_amqp_definitions.properties_set_content_encoding(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'content_encoding'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__214 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_content_encoding); if (unlikely(!__pyx_tuple__214)) __PYX_ERR(17, 227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__214);
  __Pyx_GIVEREF(__pyx_tuple__214);

  /* "src/properties.pyx":243
 *         if c_amqp_definitions.properties_set_absolute_expiry_time(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'absolute_expiry_time'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__215 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_absolute_expiry_ti); if (unlikely(!__pyx_tuple__215)) __PYX_ERR(17, 243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__215);
  __Pyx_GIVEREF(__pyx_tuple__215);

  /* "src/properties.pyx":259
 *         if c_amqp_definitions.properties_set_creation_time(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'create_time'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__216 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_create_time); if (unlikely(!__pyx_tuple__216)) __PYX_ERR(17, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__216);
  __Pyx_GIVEREF(__pyx_tuple__216);

  /* "src/properties.pyx":275
 *         if c_amqp_definitions.properties_set_group_id(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_id'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__217 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_group_id); if (unlikely(!__pyx_tuple__217)) __PYX_ERR(17, 275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__217);
  __Pyx_GIVEREF(__pyx_tuple__217);

  /* "src/properties.pyx":291
 *         if c_amqp_definitions.properties_set_group_sequence(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'group_Sequence'.")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__218 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_group_Sequence); if (unlikely(!__pyx_tuple__218)) __PYX_ERR(17, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__218);
  __Pyx_GIVEREF(__pyx_tuple__218);

  /* "src/properties.pyx":307
 *         if c_amqp_definitions.properties_set_reply_to_group_id(
 *             self._c_value, value) != 0:
 *                 self._value_error("Could not set 'reply_to_group_id'.")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__219 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_reply_to_group_id); if (unlikely(!__pyx_tuple__219)) __PYX_ERR(17, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__219);
  __Pyx_GIVEREF(__pyx_tuple__219);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__220 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__220);
  __Pyx_GIVEREF(__pyx_tuple__220);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__221 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__221)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__221);
  __Pyx_GIVEREF(__pyx_tuple__221);

  /* "src/sasl.pyx":22
 *     interface = c_sasl_mechanism.saslmssbcbs_get_interface()
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL CBS Interface description")             # <<<<<<<<<<<<<<
 *     desc = SASLMechanismInterfaceDescription()
 *     desc.wrap(interface)
 */
  __pyx_tuple__222 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_SASL_CBS_Interf); if (unlikely(!__pyx_tuple__222)) __PYX_ERR(18, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__222);
  __Pyx_GIVEREF(__pyx_tuple__222);

  /* "src/sasl.pyx":32
 *     io_desc = c_sasl_mechanism.saslanonymous_get_interface()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL Anonymous Interface description")             # <<<<<<<<<<<<<<
 * 
 *     interface = SASLMechanismInterfaceDescription()
 */
  __pyx_tuple__223 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_SASL_Anonymous); if (unlikely(!__pyx_tuple__223)) __PYX_ERR(18, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__223);
  __Pyx_GIVEREF(__pyx_tuple__223);

  /* "src/sasl.pyx":43
 *     io_desc = c_sasl_mechanism.saslplain_get_interface()
 *     if <void*>io_desc == NULL:
 *         raise ValueError("Failed to create SASL plain Interface description")             # <<<<<<<<<<<<<<
 * 
 *     interface = SASLMechanismInterfaceDescription()
 */
  __pyx_tuple__224 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_SASL_plain_Inte); if (unlikely(!__pyx_tuple__224)) __PYX_ERR(18, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__224);
  __Pyx_GIVEREF(__pyx_tuple__224);

  /* "src/sasl.pyx":59
 * 
 * cpdef get_plain_sasl_mechanism(SASLMechanismInterfaceDescription interface, SASLPlainConfig parameters):
 *     _logger.debug("Creating SASL Mechanism")             # <<<<<<<<<<<<<<
 *     sasl_mechanism = SASLMechanism()
 *     sasl_mechanism.create_with_parameters(interface, &parameters._c_value)
 */
  __pyx_tuple__225 = PyTuple_Pack(1, __pyx_kp_s_Creating_SASL_Mechanism); if (unlikely(!__pyx_tuple__225)) __PYX_ERR(18, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__225);
  __Pyx_GIVEREF(__pyx_tuple__225);

  /* "src/sasl.pyx":74
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating SASLMechanism")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__226 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_SASLMechanism); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(18, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__226);
  __Pyx_GIVEREF(__pyx_tuple__226);

  /* "src/sasl.pyx":83
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying SASLMechanism")             # <<<<<<<<<<<<<<
 *             c_sasl_mechanism.saslmechanism_destroy(self._c_value)
 *             self._c_value = <c_sasl_mechanism.SASL_MECHANISM_HANDLE>NULL
 */
  __pyx_tuple__227 = PyTuple_Pack(1, __pyx_kp_s_Destroying_SASLMechanism); if (unlikely(!__pyx_tuple__227)) __PYX_ERR(18, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__227);
  __Pyx_GIVEREF(__pyx_tuple__227);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__228 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__228);
  __Pyx_GIVEREF(__pyx_tuple__228);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__229 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__229)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__229);
  __Pyx_GIVEREF(__pyx_tuple__229);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__230 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__230);
  __Pyx_GIVEREF(__pyx_tuple__230);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__231 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__231)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__231);
  __Pyx_GIVEREF(__pyx_tuple__231);

  /* "src/sasl.pyx":121
 *     def __cinit__(self, XIO underlying_io, SASLMechanism sasl_mechanism):
 *         if <void*>underlying_io._c_value is NULL:
 *             raise ValueError("UnderLying IO must not be NULL")             # <<<<<<<<<<<<<<
 *         if <void*>sasl_mechanism._c_value is NULL:
 *             raise ValueError("SASL Mechanism must not be NULL")
 */
  __pyx_tuple__232 = PyTuple_Pack(1, __pyx_kp_s_UnderLying_IO_must_not_be_NULL); if (unlikely(!__pyx_tuple__232)) __PYX_ERR(18, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__232);
  __Pyx_GIVEREF(__pyx_tuple__232);

  /* "src/sasl.pyx":123
 *             raise ValueError("UnderLying IO must not be NULL")
 *         if <void*>sasl_mechanism._c_value is NULL:
 *             raise ValueError("SASL Mechanism must not be NULL")             # <<<<<<<<<<<<<<
 * 
 *         self._underlying_io = underlying_io
 */
  __pyx_tuple__233 = PyTuple_Pack(1, __pyx_kp_s_SASL_Mechanism_must_not_be_NULL); if (unlikely(!__pyx_tuple__233)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__233);
  __Pyx_GIVEREF(__pyx_tuple__233);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__234 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__234)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__234);
  __Pyx_GIVEREF(__pyx_tuple__234);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__235 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__235)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__235);
  __Pyx_GIVEREF(__pyx_tuple__235);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__236 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__236)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__236);
  __Pyx_GIVEREF(__pyx_tuple__236);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__237 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__237)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__237);
  __Pyx_GIVEREF(__pyx_tuple__237);

  /* "src/session.pyx":37
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSession")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__238 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cSession); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(19, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__238);
  __Pyx_GIVEREF(__pyx_tuple__238);

  /* "src/session.pyx":88
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSession")             # <<<<<<<<<<<<<<
 *             c_session.session_destroy(self._c_value)
 *             self._c_value = <c_session.SESSION_HANDLE>NULL
 */
  __pyx_tuple__239 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cSession); if (unlikely(!__pyx_tuple__239)) __PYX_ERR(19, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__239);
  __Pyx_GIVEREF(__pyx_tuple__239);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__240 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__240);
  __Pyx_GIVEREF(__pyx_tuple__240);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__241 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__241)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__241);
  __Pyx_GIVEREF(__pyx_tuple__241);

  /* "src/session.pyx":137
 * 
 *     if <void*>source == NULL or <void*>target == NULL:
 *         _logger.info("Link ATTACH frame missing source and/or target. DETACH pending.")             # <<<<<<<<<<<<<<
 *         context_obj._attach_received(None, None, attach_properties, "ATTACH frame Source and/or Target is NULL")
 *     else:
 */
  __pyx_tuple__242 = PyTuple_Pack(1, __pyx_kp_s_Link_ATTACH_frame_missing_source); if (unlikely(!__pyx_tuple__242)) __PYX_ERR(19, 137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__242);
  __Pyx_GIVEREF(__pyx_tuple__242);

  /* "src/source.pyx":39
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cSource")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__243 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cSource); if (unlikely(!__pyx_tuple__243)) __PYX_ERR(20, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__243);
  __Pyx_GIVEREF(__pyx_tuple__243);

  /* "src/source.pyx":48
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cSource")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.source_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.SOURCE_HANDLE>NULL
 */
  __pyx_tuple__244 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cSource); if (unlikely(!__pyx_tuple__244)) __PYX_ERR(20, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__244);
  __Pyx_GIVEREF(__pyx_tuple__244);

  /* "src/source.pyx":62
 *         _value = c_amqp_definitions.amqpvalue_create_source(self._c_value)
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create source.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__245 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_source); if (unlikely(!__pyx_tuple__245)) __PYX_ERR(20, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__245);
  __Pyx_GIVEREF(__pyx_tuple__245);

  /* "src/source.pyx":69
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.source_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source address")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__246 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_address); if (unlikely(!__pyx_tuple__246)) __PYX_ERR(20, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__246);
  __Pyx_GIVEREF(__pyx_tuple__246);

  /* "src/source.pyx":77
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set source address")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__247 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_address); if (unlikely(!__pyx_tuple__247)) __PYX_ERR(20, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__247);
  __Pyx_GIVEREF(__pyx_tuple__247);

  /* "src/source.pyx":83
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.source_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source durable")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__248 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_durable); if (unlikely(!__pyx_tuple__248)) __PYX_ERR(20, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__248);
  __Pyx_GIVEREF(__pyx_tuple__248);

  /* "src/source.pyx":91
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.source_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set source durable")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__249 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_durable); if (unlikely(!__pyx_tuple__249)) __PYX_ERR(20, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__249);
  __Pyx_GIVEREF(__pyx_tuple__249);

  /* "src/source.pyx":97
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.source_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source expiry_policy")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__250 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_expiry_poli); if (unlikely(!__pyx_tuple__250)) __PYX_ERR(20, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__250);
  __Pyx_GIVEREF(__pyx_tuple__250);

  /* "src/source.pyx":105
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.source_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set source expiry_policy")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__251 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_expiry_poli); if (unlikely(!__pyx_tuple__251)) __PYX_ERR(20, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__251);
  __Pyx_GIVEREF(__pyx_tuple__251);

  /* "src/source.pyx":111
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.source_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source timeout")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__252 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_timeout); if (unlikely(!__pyx_tuple__252)) __PYX_ERR(20, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__252);
  __Pyx_GIVEREF(__pyx_tuple__252);

  /* "src/source.pyx":119
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.source_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set source timeout")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__253 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_timeout); if (unlikely(!__pyx_tuple__253)) __PYX_ERR(20, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__253);
  __Pyx_GIVEREF(__pyx_tuple__253);

  /* "src/source.pyx":125
 *         cdef bint _value
 *         if c_amqp_definitions.source_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__254 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_dynamic); if (unlikely(!__pyx_tuple__254)) __PYX_ERR(20, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__254);
  __Pyx_GIVEREF(__pyx_tuple__254);

  /* "src/source.pyx":133
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.source_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set source dynamic")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__255 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_dynamic); if (unlikely(!__pyx_tuple__255)) __PYX_ERR(20, 133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__255);
  __Pyx_GIVEREF(__pyx_tuple__255);

  /* "src/source.pyx":139
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.source_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source dynamic_node_properties")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__256 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_dynamic_nod); if (unlikely(!__pyx_tuple__256)) __PYX_ERR(20, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__256);
  __Pyx_GIVEREF(__pyx_tuple__256);

  /* "src/source.pyx":147
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.source_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set source dynamic_node_properties")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__257 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_dynamic_nod); if (unlikely(!__pyx_tuple__257)) __PYX_ERR(20, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__257);
  __Pyx_GIVEREF(__pyx_tuple__257);

  /* "src/source.pyx":153
 *         cdef const char* _value
 *         if c_amqp_definitions.source_get_distribution_mode(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source distribution_mode")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__258 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_distributio); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(20, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__258);
  __Pyx_GIVEREF(__pyx_tuple__258);

  /* "src/source.pyx":161
 *     def distribution_mode(self, const char* value):
 *         if c_amqp_definitions.source_set_distribution_mode(self._c_value, value) != 0:
 *             self._value_error("Failed to set source distribution_mode")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__259 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_distributio); if (unlikely(!__pyx_tuple__259)) __PYX_ERR(20, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__259);
  __Pyx_GIVEREF(__pyx_tuple__259);

  /* "src/source.pyx":167
 *         cdef c_amqp_definitions.filter_set _value
 *         if c_amqp_definitions.source_get_filter(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get source filter_set")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__260 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_source_filter_set); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(20, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__260);
  __Pyx_GIVEREF(__pyx_tuple__260);

  /* "src/source.pyx":175
 *     def filter_set(self, AMQPValue value):
 *         if c_amqp_definitions.source_set_filter(self._c_value, <c_amqp_definitions.filter_set>value._c_value) != 0:
 *             self._value_error("Failed to set source filter_set")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__261 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_source_filter_set); if (unlikely(!__pyx_tuple__261)) __PYX_ERR(20, 175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__261);
  __Pyx_GIVEREF(__pyx_tuple__261);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__262 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__262)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__262);
  __Pyx_GIVEREF(__pyx_tuple__262);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__263 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__263)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__263);
  __Pyx_GIVEREF(__pyx_tuple__263);

  /* "src/target.pyx":39
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating cTarget")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__264 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_cTarget); if (unlikely(!__pyx_tuple__264)) __PYX_ERR(21, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__264);
  __Pyx_GIVEREF(__pyx_tuple__264);

  /* "src/target.pyx":48
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying cTarget")             # <<<<<<<<<<<<<<
 *             c_amqp_definitions.target_destroy(self._c_value)
 *             self._c_value = <c_amqp_definitions.TARGET_HANDLE>NULL
 */
  __pyx_tuple__265 = PyTuple_Pack(1, __pyx_kp_s_Destroying_cTarget); if (unlikely(!__pyx_tuple__265)) __PYX_ERR(21, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__265);
  __Pyx_GIVEREF(__pyx_tuple__265);

  /* "src/target.pyx":62
 *         _value = c_amqp_definitions.amqpvalue_create_target(self._c_value)
 *         if <void*>_value == NULL:
 *             self._null_error("Failed to create target.")             # <<<<<<<<<<<<<<
 *         return value_factory(_value)
 * 
 */
  __pyx_tuple__266 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_target); if (unlikely(!__pyx_tuple__266)) __PYX_ERR(21, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__266);
  __Pyx_GIVEREF(__pyx_tuple__266);

  /* "src/target.pyx":69
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         if c_amqp_definitions.target_get_address(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target address")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__267 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_address); if (unlikely(!__pyx_tuple__267)) __PYX_ERR(21, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__267);
  __Pyx_GIVEREF(__pyx_tuple__267);

  /* "src/target.pyx":77
 *     def address(self, AMQPValue value):
 *         if c_amqp_definitions.target_set_address(self._c_value, <c_amqpvalue.AMQP_VALUE>value._c_value) != 0:
 *             self._value_error("Failed to set target address")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__268 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_address); if (unlikely(!__pyx_tuple__268)) __PYX_ERR(21, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__268);
  __Pyx_GIVEREF(__pyx_tuple__268);

  /* "src/target.pyx":83
 *         cdef c_amqp_definitions.terminus_durability _value
 *         if c_amqp_definitions.target_get_durable(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target durable")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__269 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_durable); if (unlikely(!__pyx_tuple__269)) __PYX_ERR(21, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__269);
  __Pyx_GIVEREF(__pyx_tuple__269);

  /* "src/target.pyx":91
 *     def durable(self, c_amqp_definitions.terminus_durability value):
 *         if c_amqp_definitions.target_set_durable(self._c_value, value) != 0:
 *             self._value_error("Failed to set target durable")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__270 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_durable); if (unlikely(!__pyx_tuple__270)) __PYX_ERR(21, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__270);
  __Pyx_GIVEREF(__pyx_tuple__270);

  /* "src/target.pyx":97
 *         cdef c_amqp_definitions.terminus_expiry_policy _value
 *         if c_amqp_definitions.target_get_expiry_policy(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target expiry_policy")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__271 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_expiry_poli); if (unlikely(!__pyx_tuple__271)) __PYX_ERR(21, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__271);
  __Pyx_GIVEREF(__pyx_tuple__271);

  /* "src/target.pyx":105
 *     def expiry_policy(self, c_amqp_definitions.terminus_expiry_policy value):
 *         if c_amqp_definitions.target_set_expiry_policy(self._c_value, value) != 0:
 *             self._value_error("Failed to set target expiry_policy")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__272 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_expiry_poli); if (unlikely(!__pyx_tuple__272)) __PYX_ERR(21, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__272);
  __Pyx_GIVEREF(__pyx_tuple__272);

  /* "src/target.pyx":111
 *         cdef c_amqp_definitions.seconds _value
 *         if c_amqp_definitions.target_get_timeout(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target timeout")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__273 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_timeout); if (unlikely(!__pyx_tuple__273)) __PYX_ERR(21, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__273);
  __Pyx_GIVEREF(__pyx_tuple__273);

  /* "src/target.pyx":119
 *     def timeout(self, c_amqp_definitions.seconds value):
 *         if c_amqp_definitions.target_set_timeout(self._c_value, value) != 0:
 *             self._value_error("Failed to set target timeout")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__274 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_timeout); if (unlikely(!__pyx_tuple__274)) __PYX_ERR(21, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__274);
  __Pyx_GIVEREF(__pyx_tuple__274);

  /* "src/target.pyx":125
 *         cdef bint _value
 *         if c_amqp_definitions.target_get_dynamic(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__275 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_dynamic); if (unlikely(!__pyx_tuple__275)) __PYX_ERR(21, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__275);
  __Pyx_GIVEREF(__pyx_tuple__275);

  /* "src/target.pyx":133
 *     def dynamic(self, bint value):
 *         if c_amqp_definitions.target_set_dynamic(self._c_value, value) != 0:
 *             self._value_error("Failed to set target dynamic")             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  __pyx_tuple__276 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_dynamic); if (unlikely(!__pyx_tuple__276)) __PYX_ERR(21, 133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__276);
  __Pyx_GIVEREF(__pyx_tuple__276);

  /* "src/target.pyx":139
 *         cdef c_amqp_definitions.node_properties _value
 *         if c_amqp_definitions.target_get_dynamic_node_properties(self._c_value, &_value) != 0:
 *             self._value_error("Failed to get target dynamic_node_properties")             # <<<<<<<<<<<<<<
 *         if <void*>_value == NULL:
 *             return None
 */
  __pyx_tuple__277 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_get_target_dynamic_nod); if (unlikely(!__pyx_tuple__277)) __PYX_ERR(21, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__277);
  __Pyx_GIVEREF(__pyx_tuple__277);

  /* "src/target.pyx":147
 *     def dynamic_node_properties(self, cFields value):
 *         if c_amqp_definitions.target_set_dynamic_node_properties(self._c_value, <c_amqp_definitions.node_properties>value._c_value) != 0:
 *             self._value_error("Failed to set target dynamic_node_properties")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__278 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_target_dynamic_nod); if (unlikely(!__pyx_tuple__278)) __PYX_ERR(21, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__278);
  __Pyx_GIVEREF(__pyx_tuple__278);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__279 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__279)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__279);
  __Pyx_GIVEREF(__pyx_tuple__279);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__280 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__280)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__280);
  __Pyx_GIVEREF(__pyx_tuple__280);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__281 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__281)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__281);
  __Pyx_GIVEREF(__pyx_tuple__281);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__282 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__282)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__282);
  __Pyx_GIVEREF(__pyx_tuple__282);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__283 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__283)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__283);
  __Pyx_GIVEREF(__pyx_tuple__283);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__284 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__284)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__284);
  __Pyx_GIVEREF(__pyx_tuple__284);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__285 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__285)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__285);
  __Pyx_GIVEREF(__pyx_tuple__285);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__286 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__286)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__286);
  __Pyx_GIVEREF(__pyx_tuple__286);

  /* "src/xio.pyx":37
 *     interface = c_sasl_mechanism.saslclientio_get_interface_description()
 *     if <void*>interface == NULL:
 *         raise ValueError("Failed to create SASL Client IO Interface description")             # <<<<<<<<<<<<<<
 *     xio = XIO()
 *     xio.create(interface, io_config, &io_config._c_value)
 */
  __pyx_tuple__287 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_create_SASL_Client_IO); if (unlikely(!__pyx_tuple__287)) __PYX_ERR(24, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__287);
  __Pyx_GIVEREF(__pyx_tuple__287);

  /* "src/xio.pyx":52
 * 
 *     def __dealloc__(self):
 *         _logger.debug("Deallocating XIO")             # <<<<<<<<<<<<<<
 *         self.destroy()
 * 
 */
  __pyx_tuple__288 = PyTuple_Pack(1, __pyx_kp_s_Deallocating_XIO); if (unlikely(!__pyx_tuple__288)) __PYX_ERR(24, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__288);
  __Pyx_GIVEREF(__pyx_tuple__288);

  /* "src/xio.pyx":61
 *     cpdef destroy(self):
 *         if <void*>self._c_value is not NULL:
 *             _logger.debug("Destroying XIO")             # <<<<<<<<<<<<<<
 *             c_xio.xio_destroy(self._c_value)
 *             self._c_value = <c_xio.XIO_HANDLE>NULL
 */
  __pyx_tuple__289 = PyTuple_Pack(1, __pyx_kp_s_Destroying_XIO); if (unlikely(!__pyx_tuple__289)) __PYX_ERR(24, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__289);
  __Pyx_GIVEREF(__pyx_tuple__289);

  /* "src/xio.pyx":87
 *         cdef char *certificate = value
 *         if c_xio.xio_setoption(self._c_value, b'TrustedCerts', <void*>certificate) != 0:
 *             raise self._value_error("Failed to set certificates")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__290 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_set_certificates); if (unlikely(!__pyx_tuple__290)) __PYX_ERR(24, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__290);
  __Pyx_GIVEREF(__pyx_tuple__290);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__291 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__291)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__291);
  __Pyx_GIVEREF(__pyx_tuple__291);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__292 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__292)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__292);
  __Pyx_GIVEREF(__pyx_tuple__292);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__293 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__293)) __PYX_ERR(2, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__293);
  __Pyx_GIVEREF(__pyx_tuple__293);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__294 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__294)) __PYX_ERR(2, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__294);
  __Pyx_GIVEREF(__pyx_tuple__294);

  /* "src/message.pyx":305
 * 
 *     @staticmethod
 *     def create_source(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 */
  __pyx_tuple__297 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__297)) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__297);
  __Pyx_GIVEREF(__pyx_tuple__297);
  __pyx_codeobj__298 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__297, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_create_source, 305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__298)) __PYX_ERR(0, 305, __pyx_L1_error)

  /* "src/message.pyx":313
 * 
 *     @staticmethod
 *     def create_target(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 */
  __pyx_tuple__299 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__299)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__299);
  __Pyx_GIVEREF(__pyx_tuple__299);
  __pyx_codeobj__300 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__299, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_create_target, 313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__300)) __PYX_ERR(0, 313, __pyx_L1_error)

  /* "src/message.pyx":321
 * 
 *     @staticmethod
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 */
  __pyx_tuple__301 = PyTuple_Pack(3, __pyx_n_s_section_number, __pyx_n_s_section_offset, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__301)) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__301);
  __Pyx_GIVEREF(__pyx_tuple__301);
  __pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__301, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_delivery_received, 321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(0, 321, __pyx_L1_error)

  /* "src/message.pyx":329
 * 
 *     @staticmethod
 *     def delivery_accepted():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 */
  __pyx_tuple__303 = PyTuple_Pack(1, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__303)) __PYX_ERR(0, 329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__303);
  __Pyx_GIVEREF(__pyx_tuple__303);
  __pyx_codeobj__304 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__303, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_delivery_accepted, 329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__304)) __PYX_ERR(0, 329, __pyx_L1_error)

  /* "src/message.pyx":337
 * 
 *     @staticmethod
 *     def delivery_rejected(const char* error_condition, const char* error_description, cFields error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 */
  __pyx_tuple__305 = PyTuple_Pack(5, __pyx_n_s_error_condition, __pyx_n_s_error_description, __pyx_n_s_error_info, __pyx_n_s_value_2, __pyx_n_s_delivery_fields); if (unlikely(!__pyx_tuple__305)) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__305);
  __Pyx_GIVEREF(__pyx_tuple__305);
  __pyx_codeobj__306 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__305, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_delivery_rejected, 337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__306)) __PYX_ERR(0, 337, __pyx_L1_error)

  /* "src/message.pyx":351
 * 
 *     @staticmethod
 *     def delivery_released():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 */
  __pyx_tuple__307 = PyTuple_Pack(1, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__307)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__307);
  __Pyx_GIVEREF(__pyx_tuple__307);
  __pyx_codeobj__308 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__307, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_delivery_released, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__308)) __PYX_ERR(0, 351, __pyx_L1_error)

  /* "src/message.pyx":359
 * 
 *     @staticmethod
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):             # <<<<<<<<<<<<<<
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_tuple__309 = PyTuple_Pack(4, __pyx_n_s_delivery_failed, __pyx_n_s_undeliverable_here, __pyx_n_s_message_annotations, __pyx_n_s_value_2); if (unlikely(!__pyx_tuple__309)) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__309);
  __Pyx_GIVEREF(__pyx_tuple__309);
  __pyx_codeobj__310 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__309, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_message_pyx, __pyx_n_s_delivery_modified, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__310)) __PYX_ERR(0, 359, __pyx_L1_error)

  /* "src/xlogging.pyx":17
 * 
 * 
 * _logger = logging.getLogger('uamqp.c_uamqp')             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__311 = PyTuple_Pack(1, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_tuple__311)) __PYX_ERR(25, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__311);
  __Pyx_GIVEREF(__pyx_tuple__311);

  /* "src/xlogging.pyx":66
 * 
 * 
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):             # <<<<<<<<<<<<<<
 *     text_bldr.append(text)
 *     if not end:
 */
  __pyx_tuple__312 = PyTuple_Pack(8, __pyx_n_s_category, __pyx_n_s_text, __pyx_n_s_end, __pyx_n_s_text_bldr, __pyx_n_s_file, __pyx_n_s_func, __pyx_n_s_line, __pyx_n_s_log_line); if (unlikely(!__pyx_tuple__312)) __PYX_ERR(25, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__312);
  __Pyx_GIVEREF(__pyx_tuple__312);
  __pyx_codeobj__313 = (PyObject*)__Pyx_PyCode_New(7, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__312, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_xlogging_pyx, __pyx_n_s_python_log, 66, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__313)) __PYX_ERR(25, 66, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */
  __pyx_tuple__314 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__314)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__314);
  __Pyx_GIVEREF(__pyx_tuple__314);
  __pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_StructBase, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) __PYX_ERR(2, 1, __pyx_L1_error)
  __pyx_tuple__316 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__316)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__316);
  __Pyx_GIVEREF(__pyx_tuple__316);
  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__316, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Messaging, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(26, 1, __pyx_L1_error);
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_128 = PyInt_FromLong(128); if (unlikely(!__pyx_int_128)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_443 = PyInt_FromLong(443); if (unlikely(!__pyx_int_443)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_999 = PyInt_FromLong(999); if (unlikely(!__pyx_int_999)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_2880 = PyInt_FromLong(2880); if (unlikely(!__pyx_int_2880)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_3600 = PyInt_FromLong(3600); if (unlikely(!__pyx_int_3600)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_5671 = PyInt_FromLong(5671); if (unlikely(!__pyx_int_5671)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_65536 = PyInt_FromLong(65536L); if (unlikely(!__pyx_int_65536)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_222419149 = PyInt_FromLong(222419149L); if (unlikely(!__pyx_int_222419149)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_int_2147563264 = PyInt_FromString((char *)"2147563264", 0, 0); if (unlikely(!__pyx_int_2147563264)) __PYX_ERR(26, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_modinit_global_init_code(void); /*proto*/
static int __Pyx_modinit_variable_export_code(void); /*proto*/
static int __Pyx_modinit_function_export_code(void); /*proto*/
static int __Pyx_modinit_type_init_code(void); /*proto*/
static int __Pyx_modinit_type_import_code(void); /*proto*/
static int __Pyx_modinit_variable_import_code(void); /*proto*/
static int __Pyx_modinit_function_import_code(void); /*proto*/

static int __Pyx_modinit_global_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_StructBase) < 0) __PYX_ERR(5, 18, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_StructBase.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_StructBase.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_StructBase.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_StructBase.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "StructBase", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_StructBase) < 0) __PYX_ERR(5, 18, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_StructBase) < 0) __PYX_ERR(5, 18, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_StructBase = &__pyx_type_5uamqp_7c_uamqp_StructBase;
  __pyx_vtabptr_5uamqp_7c_uamqp_cManagementOperation = &__pyx_vtable_5uamqp_7c_uamqp_cManagementOperation;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_create;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.set_trace = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_trace;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.set_response_field_names = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, char const *, char const *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_set_response_field_names;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.open = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_open;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.close = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_close;
  __pyx_vtable_5uamqp_7c_uamqp_cManagementOperation.execute = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cManagementOperation *, char const *, char const *, PyObject *, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cManagementOperation_execute;
  __pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cManagementOperation) < 0) __PYX_ERR(8, 24, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cManagementOperation.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cManagementOperation) < 0) __PYX_ERR(8, 24, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cManagementOperation", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cManagementOperation) < 0) __PYX_ERR(8, 24, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cManagementOperation) < 0) __PYX_ERR(8, 24, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cManagementOperation = &__pyx_type_5uamqp_7c_uamqp_cManagementOperation;
  __pyx_vtabptr_5uamqp_7c_uamqp_AMQPString = &__pyx_vtable_5uamqp_7c_uamqp_AMQPString;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *))__pyx_f_5uamqp_7c_uamqp_10AMQPString__validate;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10AMQPString_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, STRING_HANDLE))__pyx_f_5uamqp_7c_uamqp_10AMQPString_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString.construct = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, char const *))__pyx_f_5uamqp_7c_uamqp_10AMQPString_construct;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString.append = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10AMQPString_append;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPString.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPString *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10AMQPString_clone;
  __pyx_type_5uamqp_7c_uamqp_AMQPString.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_AMQPString) < 0) __PYX_ERR(3, 31, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_AMQPString.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_AMQPString.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_AMQPString.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_AMQPString.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_AMQPString.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_AMQPString) < 0) __PYX_ERR(3, 31, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "AMQPString", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_AMQPString) < 0) __PYX_ERR(3, 31, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_AMQPString) < 0) __PYX_ERR(3, 31, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_AMQPString = &__pyx_type_5uamqp_7c_uamqp_AMQPString;
  __pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue = &__pyx_vtable_5uamqp_7c_uamqp_AMQPValue;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue._as_string = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_9AMQPValue__as_string;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *))__pyx_f_5uamqp_7c_uamqp_9AMQPValue__validate;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_9AMQPValue_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, AMQP_VALUE))__pyx_f_5uamqp_7c_uamqp_9AMQPValue_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue.get_encoded_size = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_9AMQPValue_get_encoded_size;
  __pyx_vtable_5uamqp_7c_uamqp_AMQPValue.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_9AMQPValue_clone;
  __pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_AMQPValue) < 0) __PYX_ERR(4, 271, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_AMQPValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue) < 0) __PYX_ERR(4, 271, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "AMQPValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_AMQPValue) < 0) __PYX_ERR(4, 271, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_AMQPValue) < 0) __PYX_ERR(4, 271, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_AMQPValue = &__pyx_type_5uamqp_7c_uamqp_AMQPValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_BoolValue = &__pyx_vtable_5uamqp_7c_uamqp_BoolValue;
  __pyx_vtable_5uamqp_7c_uamqp_BoolValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_vtable_5uamqp_7c_uamqp_BoolValue._bool_value = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_BoolValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_9BoolValue__bool_value;
  __pyx_type_5uamqp_7c_uamqp_BoolValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_BoolValue) < 0) __PYX_ERR(4, 369, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_BoolValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_BoolValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_BoolValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_BoolValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_BoolValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_BoolValue) < 0) __PYX_ERR(4, 369, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "BoolValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_BoolValue) < 0) __PYX_ERR(4, 369, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_BoolValue) < 0) __PYX_ERR(4, 369, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_BoolValue = &__pyx_type_5uamqp_7c_uamqp_BoolValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_UByteValue = &__pyx_vtable_5uamqp_7c_uamqp_UByteValue;
  __pyx_vtable_5uamqp_7c_uamqp_UByteValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_UByteValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_UByteValue) < 0) __PYX_ERR(4, 396, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_UByteValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_UByteValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_UByteValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_UByteValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_UByteValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_UByteValue) < 0) __PYX_ERR(4, 396, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "UByteValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_UByteValue) < 0) __PYX_ERR(4, 396, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_UByteValue) < 0) __PYX_ERR(4, 396, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_UByteValue = &__pyx_type_5uamqp_7c_uamqp_UByteValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_UShortValue = &__pyx_vtable_5uamqp_7c_uamqp_UShortValue;
  __pyx_vtable_5uamqp_7c_uamqp_UShortValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_UShortValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_UShortValue) < 0) __PYX_ERR(4, 414, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_UShortValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_UShortValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_UShortValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_UShortValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_UShortValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_UShortValue) < 0) __PYX_ERR(4, 414, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "UShortValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_UShortValue) < 0) __PYX_ERR(4, 414, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_UShortValue) < 0) __PYX_ERR(4, 414, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_UShortValue = &__pyx_type_5uamqp_7c_uamqp_UShortValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_UIntValue = &__pyx_vtable_5uamqp_7c_uamqp_UIntValue;
  __pyx_vtable_5uamqp_7c_uamqp_UIntValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_UIntValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_UIntValue) < 0) __PYX_ERR(4, 432, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_UIntValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_UIntValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_UIntValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_UIntValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_UIntValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_UIntValue) < 0) __PYX_ERR(4, 432, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "UIntValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_UIntValue) < 0) __PYX_ERR(4, 432, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_UIntValue) < 0) __PYX_ERR(4, 432, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_UIntValue = &__pyx_type_5uamqp_7c_uamqp_UIntValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_ULongValue = &__pyx_vtable_5uamqp_7c_uamqp_ULongValue;
  __pyx_vtable_5uamqp_7c_uamqp_ULongValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_ULongValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_ULongValue) < 0) __PYX_ERR(4, 450, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_ULongValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_ULongValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_ULongValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_ULongValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_ULongValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_ULongValue) < 0) __PYX_ERR(4, 450, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "ULongValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_ULongValue) < 0) __PYX_ERR(4, 450, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_ULongValue) < 0) __PYX_ERR(4, 450, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_ULongValue = &__pyx_type_5uamqp_7c_uamqp_ULongValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_ByteValue = &__pyx_vtable_5uamqp_7c_uamqp_ByteValue;
  __pyx_vtable_5uamqp_7c_uamqp_ByteValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_ByteValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_ByteValue) < 0) __PYX_ERR(4, 468, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_ByteValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_ByteValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_ByteValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_ByteValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_ByteValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_ByteValue) < 0) __PYX_ERR(4, 468, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "ByteValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_ByteValue) < 0) __PYX_ERR(4, 468, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_ByteValue) < 0) __PYX_ERR(4, 468, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_ByteValue = &__pyx_type_5uamqp_7c_uamqp_ByteValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_ShortValue = &__pyx_vtable_5uamqp_7c_uamqp_ShortValue;
  __pyx_vtable_5uamqp_7c_uamqp_ShortValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_ShortValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_ShortValue) < 0) __PYX_ERR(4, 486, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_ShortValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_ShortValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_ShortValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_ShortValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_ShortValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_ShortValue) < 0) __PYX_ERR(4, 486, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "ShortValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_ShortValue) < 0) __PYX_ERR(4, 486, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_ShortValue) < 0) __PYX_ERR(4, 486, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_ShortValue = &__pyx_type_5uamqp_7c_uamqp_ShortValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_IntValue = &__pyx_vtable_5uamqp_7c_uamqp_IntValue;
  __pyx_vtable_5uamqp_7c_uamqp_IntValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_IntValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_IntValue) < 0) __PYX_ERR(4, 504, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_IntValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_IntValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_IntValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_IntValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_IntValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_IntValue) < 0) __PYX_ERR(4, 504, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "IntValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_IntValue) < 0) __PYX_ERR(4, 504, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_IntValue) < 0) __PYX_ERR(4, 504, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_IntValue = &__pyx_type_5uamqp_7c_uamqp_IntValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_LongValue = &__pyx_vtable_5uamqp_7c_uamqp_LongValue;
  __pyx_vtable_5uamqp_7c_uamqp_LongValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_LongValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_LongValue) < 0) __PYX_ERR(4, 522, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_LongValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_LongValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_LongValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_LongValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_LongValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_LongValue) < 0) __PYX_ERR(4, 522, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "LongValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_LongValue) < 0) __PYX_ERR(4, 522, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_LongValue) < 0) __PYX_ERR(4, 522, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_LongValue = &__pyx_type_5uamqp_7c_uamqp_LongValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_FloatValue = &__pyx_vtable_5uamqp_7c_uamqp_FloatValue;
  __pyx_vtable_5uamqp_7c_uamqp_FloatValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_FloatValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_FloatValue) < 0) __PYX_ERR(4, 540, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_FloatValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_FloatValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_FloatValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_FloatValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_FloatValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_FloatValue) < 0) __PYX_ERR(4, 540, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "FloatValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_FloatValue) < 0) __PYX_ERR(4, 540, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_FloatValue) < 0) __PYX_ERR(4, 540, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_FloatValue = &__pyx_type_5uamqp_7c_uamqp_FloatValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_DoubleValue = &__pyx_vtable_5uamqp_7c_uamqp_DoubleValue;
  __pyx_vtable_5uamqp_7c_uamqp_DoubleValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_DoubleValue) < 0) __PYX_ERR(4, 558, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_DoubleValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_DoubleValue) < 0) __PYX_ERR(4, 558, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "DoubleValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_DoubleValue) < 0) __PYX_ERR(4, 558, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_DoubleValue) < 0) __PYX_ERR(4, 558, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_DoubleValue = &__pyx_type_5uamqp_7c_uamqp_DoubleValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_CharValue = &__pyx_vtable_5uamqp_7c_uamqp_CharValue;
  __pyx_vtable_5uamqp_7c_uamqp_CharValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_CharValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_CharValue) < 0) __PYX_ERR(4, 576, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_CharValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_CharValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_CharValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_CharValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_CharValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_CharValue) < 0) __PYX_ERR(4, 576, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "CharValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_CharValue) < 0) __PYX_ERR(4, 576, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_CharValue) < 0) __PYX_ERR(4, 576, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_CharValue = &__pyx_type_5uamqp_7c_uamqp_CharValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_TimestampValue = &__pyx_vtable_5uamqp_7c_uamqp_TimestampValue;
  __pyx_vtable_5uamqp_7c_uamqp_TimestampValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_TimestampValue) < 0) __PYX_ERR(4, 594, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_TimestampValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_TimestampValue) < 0) __PYX_ERR(4, 594, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "TimestampValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_TimestampValue) < 0) __PYX_ERR(4, 594, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_TimestampValue) < 0) __PYX_ERR(4, 594, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_TimestampValue = &__pyx_type_5uamqp_7c_uamqp_TimestampValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_UUIDValue = &__pyx_vtable_5uamqp_7c_uamqp_UUIDValue;
  __pyx_vtable_5uamqp_7c_uamqp_UUIDValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_UUIDValue) < 0) __PYX_ERR(4, 612, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_UUIDValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_UUIDValue) < 0) __PYX_ERR(4, 612, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "UUIDValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_UUIDValue) < 0) __PYX_ERR(4, 612, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_UUIDValue) < 0) __PYX_ERR(4, 612, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_UUIDValue = &__pyx_type_5uamqp_7c_uamqp_UUIDValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_BinaryValue = &__pyx_vtable_5uamqp_7c_uamqp_BinaryValue;
  __pyx_vtable_5uamqp_7c_uamqp_BinaryValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_BinaryValue) < 0) __PYX_ERR(4, 627, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_BinaryValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_BinaryValue) < 0) __PYX_ERR(4, 627, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "BinaryValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_BinaryValue) < 0) __PYX_ERR(4, 627, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_BinaryValue) < 0) __PYX_ERR(4, 627, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_BinaryValue = &__pyx_type_5uamqp_7c_uamqp_BinaryValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_StringValue = &__pyx_vtable_5uamqp_7c_uamqp_StringValue;
  __pyx_vtable_5uamqp_7c_uamqp_StringValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_StringValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_StringValue) < 0) __PYX_ERR(4, 659, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_StringValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_StringValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_StringValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_StringValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_StringValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_StringValue) < 0) __PYX_ERR(4, 659, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "StringValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_StringValue) < 0) __PYX_ERR(4, 659, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_StringValue) < 0) __PYX_ERR(4, 659, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_StringValue = &__pyx_type_5uamqp_7c_uamqp_StringValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_SymbolValue = &__pyx_vtable_5uamqp_7c_uamqp_SymbolValue;
  __pyx_vtable_5uamqp_7c_uamqp_SymbolValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_SymbolValue) < 0) __PYX_ERR(4, 677, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_SymbolValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_SymbolValue) < 0) __PYX_ERR(4, 677, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "SymbolValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_SymbolValue) < 0) __PYX_ERR(4, 677, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_SymbolValue) < 0) __PYX_ERR(4, 677, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_SymbolValue = &__pyx_type_5uamqp_7c_uamqp_SymbolValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_ListValue = &__pyx_vtable_5uamqp_7c_uamqp_ListValue;
  __pyx_vtable_5uamqp_7c_uamqp_ListValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_ListValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_ListValue) < 0) __PYX_ERR(4, 695, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_ListValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_ListValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_ListValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_ListValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_ListValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_ListValue) < 0) __PYX_ERR(4, 695, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "ListValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_ListValue) < 0) __PYX_ERR(4, 695, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_ListValue) < 0) __PYX_ERR(4, 695, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_ListValue = &__pyx_type_5uamqp_7c_uamqp_ListValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_DictValue = &__pyx_vtable_5uamqp_7c_uamqp_DictValue;
  __pyx_vtable_5uamqp_7c_uamqp_DictValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_DictValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_DictValue) < 0) __PYX_ERR(4, 749, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_DictValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_DictValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_DictValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_DictValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_DictValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_DictValue) < 0) __PYX_ERR(4, 749, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "DictValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_DictValue) < 0) __PYX_ERR(4, 749, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_DictValue) < 0) __PYX_ERR(4, 749, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_DictValue = &__pyx_type_5uamqp_7c_uamqp_DictValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_ArrayValue = &__pyx_vtable_5uamqp_7c_uamqp_ArrayValue;
  __pyx_vtable_5uamqp_7c_uamqp_ArrayValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_vtable_5uamqp_7c_uamqp_ArrayValue.append = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_ArrayValue *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10ArrayValue_append;
  __pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_ArrayValue) < 0) __PYX_ERR(4, 802, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_ArrayValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_ArrayValue) < 0) __PYX_ERR(4, 802, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "ArrayValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_ArrayValue) < 0) __PYX_ERR(4, 802, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_ArrayValue) < 0) __PYX_ERR(4, 802, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_ArrayValue = &__pyx_type_5uamqp_7c_uamqp_ArrayValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_CompositeValue = &__pyx_vtable_5uamqp_7c_uamqp_CompositeValue;
  __pyx_vtable_5uamqp_7c_uamqp_CompositeValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_CompositeValue) < 0) __PYX_ERR(4, 847, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_CompositeValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_CompositeValue) < 0) __PYX_ERR(4, 847, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "CompositeValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_CompositeValue) < 0) __PYX_ERR(4, 847, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_CompositeValue) < 0) __PYX_ERR(4, 847, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_CompositeValue = &__pyx_type_5uamqp_7c_uamqp_CompositeValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_DescribedValue = &__pyx_vtable_5uamqp_7c_uamqp_DescribedValue;
  __pyx_vtable_5uamqp_7c_uamqp_DescribedValue.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_AMQPValue;
  __pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_base = __pyx_ptype_5uamqp_7c_uamqp_AMQPValue;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_DescribedValue) < 0) __PYX_ERR(4, 903, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_DescribedValue.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_DescribedValue) < 0) __PYX_ERR(4, 903, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "DescribedValue", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_DescribedValue) < 0) __PYX_ERR(4, 903, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_DescribedValue) < 0) __PYX_ERR(4, 903, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_DescribedValue = &__pyx_type_5uamqp_7c_uamqp_DescribedValue;
  __pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations = &__pyx_vtable_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *))__pyx_f_5uamqp_7c_uamqp_12cAnnotations__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12cAnnotations_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12cAnnotations_clone;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations.get_encoded_size = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12cAnnotations_get_encoded_size;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12cAnnotations_create;
  __pyx_vtable_5uamqp_7c_uamqp_cAnnotations.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, annotations))__pyx_f_5uamqp_7c_uamqp_12cAnnotations_wrap;
  __pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cAnnotations) < 0) __PYX_ERR(9, 74, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cAnnotations.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations) < 0) __PYX_ERR(9, 74, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cAnnotations", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cAnnotations) < 0) __PYX_ERR(9, 74, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cAnnotations) < 0) __PYX_ERR(9, 74, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cAnnotations = &__pyx_type_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtabptr_5uamqp_7c_uamqp_cApplicationProperties = &__pyx_vtable_5uamqp_7c_uamqp_cApplicationProperties;
  __pyx_vtable_5uamqp_7c_uamqp_cApplicationProperties.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cApplicationProperties.__pyx_base.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_22cApplicationProperties_create;
  __pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_base = __pyx_ptype_5uamqp_7c_uamqp_cAnnotations;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cApplicationProperties) < 0) __PYX_ERR(9, 143, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cApplicationProperties.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cApplicationProperties) < 0) __PYX_ERR(9, 143, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cApplicationProperties", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cApplicationProperties) < 0) __PYX_ERR(9, 143, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cApplicationProperties) < 0) __PYX_ERR(9, 143, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cApplicationProperties = &__pyx_type_5uamqp_7c_uamqp_cApplicationProperties;
  __pyx_vtabptr_5uamqp_7c_uamqp_cDeliveryAnnotations = &__pyx_vtable_5uamqp_7c_uamqp_cDeliveryAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cDeliveryAnnotations.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cDeliveryAnnotations.__pyx_base.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_20cDeliveryAnnotations_create;
  __pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_base = __pyx_ptype_5uamqp_7c_uamqp_cAnnotations;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations) < 0) __PYX_ERR(9, 173, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cDeliveryAnnotations) < 0) __PYX_ERR(9, 173, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cDeliveryAnnotations", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations) < 0) __PYX_ERR(9, 173, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations) < 0) __PYX_ERR(9, 173, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cDeliveryAnnotations = &__pyx_type_5uamqp_7c_uamqp_cDeliveryAnnotations;
  __pyx_vtabptr_5uamqp_7c_uamqp_cMessageAnnotations = &__pyx_vtable_5uamqp_7c_uamqp_cMessageAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageAnnotations.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageAnnotations.__pyx_base.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_19cMessageAnnotations_create;
  __pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_base = __pyx_ptype_5uamqp_7c_uamqp_cAnnotations;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations) < 0) __PYX_ERR(9, 182, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cMessageAnnotations) < 0) __PYX_ERR(9, 182, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cMessageAnnotations", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations) < 0) __PYX_ERR(9, 182, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations) < 0) __PYX_ERR(9, 182, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cMessageAnnotations = &__pyx_type_5uamqp_7c_uamqp_cMessageAnnotations;
  __pyx_vtabptr_5uamqp_7c_uamqp_cFields = &__pyx_vtable_5uamqp_7c_uamqp_cFields;
  __pyx_vtable_5uamqp_7c_uamqp_cFields.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cFields.__pyx_base.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cFields_create;
  __pyx_type_5uamqp_7c_uamqp_cFields.tp_base = __pyx_ptype_5uamqp_7c_uamqp_cAnnotations;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cFields) < 0) __PYX_ERR(9, 191, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cFields.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cFields.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cFields.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cFields.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cFields.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cFields) < 0) __PYX_ERR(9, 191, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cFields", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cFields) < 0) __PYX_ERR(9, 191, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cFields) < 0) __PYX_ERR(9, 191, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cFields = &__pyx_type_5uamqp_7c_uamqp_cFields;
  __pyx_vtabptr_5uamqp_7c_uamqp_cFooter = &__pyx_vtable_5uamqp_7c_uamqp_cFooter;
  __pyx_vtable_5uamqp_7c_uamqp_cFooter.__pyx_base = *__pyx_vtabptr_5uamqp_7c_uamqp_cAnnotations;
  __pyx_vtable_5uamqp_7c_uamqp_cFooter.__pyx_base.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cAnnotations *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cFooter_create;
  __pyx_type_5uamqp_7c_uamqp_cFooter.tp_base = __pyx_ptype_5uamqp_7c_uamqp_cAnnotations;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cFooter) < 0) __PYX_ERR(9, 199, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cFooter.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cFooter.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cFooter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cFooter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cFooter.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cFooter) < 0) __PYX_ERR(9, 199, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cFooter", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cFooter) < 0) __PYX_ERR(9, 199, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cFooter) < 0) __PYX_ERR(9, 199, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cFooter = &__pyx_type_5uamqp_7c_uamqp_cFooter;
  __pyx_vtabptr_5uamqp_7c_uamqp_AsyncOperation = &__pyx_vtable_5uamqp_7c_uamqp_AsyncOperation;
  __pyx_vtable_5uamqp_7c_uamqp_AsyncOperation._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *))__pyx_f_5uamqp_7c_uamqp_14AsyncOperation__create;
  __pyx_vtable_5uamqp_7c_uamqp_AsyncOperation.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_AsyncOperation.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, ASYNC_OPERATION_HANDLE))__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_AsyncOperation.cancel = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_AsyncOperation *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14AsyncOperation_cancel;
  __pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_AsyncOperation) < 0) __PYX_ERR(10, 17, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_AsyncOperation.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_AsyncOperation) < 0) __PYX_ERR(10, 17, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "AsyncOperation", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_AsyncOperation) < 0) __PYX_ERR(10, 17, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_AsyncOperation) < 0) __PYX_ERR(10, 17, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_AsyncOperation = &__pyx_type_5uamqp_7c_uamqp_AsyncOperation;
  __pyx_vtabptr_5uamqp_7c_uamqp_TickCounter = &__pyx_vtable_5uamqp_7c_uamqp_TickCounter;
  __pyx_vtable_5uamqp_7c_uamqp_TickCounter.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_11TickCounter_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_TickCounter.get_current_ms = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_TickCounter *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_11TickCounter_get_current_ms;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_TickCounter) < 0) __PYX_ERR(5, 40, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_TickCounter.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_TickCounter.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_TickCounter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_TickCounter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_TickCounter.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_TickCounter) < 0) __PYX_ERR(5, 40, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "TickCounter", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_TickCounter) < 0) __PYX_ERR(5, 40, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_TickCounter) < 0) __PYX_ERR(5, 40, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_TickCounter = &__pyx_type_5uamqp_7c_uamqp_TickCounter;
  __pyx_vtabptr_5uamqp_7c_uamqp_CBSTokenAuth = &__pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.close = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_close;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.set_trace = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_set_trace;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.authenticate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_authenticate;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.get_status = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_status;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.get_failure_info = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_get_failure_info;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.refresh = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, char const *, uint64_t, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_refresh;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._update_status = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__update_status;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._check_put_timeout_status = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_put_timeout_status;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._check_expiration_and_refresh_status = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__check_expiration_and_refresh_status;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._cbs_open_complete = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_open_complete;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.on_cbs_open_complete = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_open_complete;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._cbs_error = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_error;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.on_cbs_error = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_error;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth._cbs_put_token_compelete = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, enum CBS_OPERATION_RESULT_TAG, unsigned int, char const *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth__cbs_put_token_compelete;
  __pyx_vtable_5uamqp_7c_uamqp_CBSTokenAuth.on_cbs_put_token_complete = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_CBSTokenAuth *, enum CBS_OPERATION_RESULT_TAG, unsigned int, char const *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_12CBSTokenAuth_on_cbs_put_token_complete;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth) < 0) __PYX_ERR(11, 40, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_CBSTokenAuth.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_CBSTokenAuth.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_CBSTokenAuth.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_CBSTokenAuth) < 0) __PYX_ERR(11, 40, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "CBSTokenAuth", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth) < 0) __PYX_ERR(11, 40, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth) < 0) __PYX_ERR(11, 40, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_CBSTokenAuth = &__pyx_type_5uamqp_7c_uamqp_CBSTokenAuth;
  __pyx_vtabptr_5uamqp_7c_uamqp_Connection = &__pyx_vtable_5uamqp_7c_uamqp_Connection;
  __pyx_vtable_5uamqp_7c_uamqp_Connection._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *))__pyx_f_5uamqp_7c_uamqp_10Connection__create;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, struct __pyx_obj_5uamqp_7c_uamqp_Connection *))__pyx_f_5uamqp_7c_uamqp_10Connection_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, struct __pyx_obj_5uamqp_7c_uamqp_XIO *, char const *, char const *, ON_CONNECTION_STATE_CHANGED, ON_IO_ERROR, void *))__pyx_f_5uamqp_7c_uamqp_10Connection_create;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.open = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_open;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.close = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, char const *, char const *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_close;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.set_trace = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_set_trace;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.do_work = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_do_work;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.subscribe_to_close_event = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_subscribe_to_close_event;
  __pyx_vtable_5uamqp_7c_uamqp_Connection.unsubscribe_to_close_event = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_Connection *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10Connection_unsubscribe_to_close_event;
  __pyx_type_5uamqp_7c_uamqp_Connection.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_Connection) < 0) __PYX_ERR(6, 46, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_Connection.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_Connection.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_Connection.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_Connection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_Connection.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_Connection) < 0) __PYX_ERR(6, 46, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "Connection", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_Connection) < 0) __PYX_ERR(6, 46, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_Connection) < 0) __PYX_ERR(6, 46, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_Connection = &__pyx_type_5uamqp_7c_uamqp_Connection;
  __pyx_vtabptr_5uamqp_7c_uamqp_cError = &__pyx_vtable_5uamqp_7c_uamqp_cError;
  __pyx_vtable_5uamqp_7c_uamqp_cError._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cError *))__pyx_f_5uamqp_7c_uamqp_6cError__create;
  __pyx_vtable_5uamqp_7c_uamqp_cError.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_6cError_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cError.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, ERROR_HANDLE))__pyx_f_5uamqp_7c_uamqp_6cError_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cError.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cError *, char const *))__pyx_f_5uamqp_7c_uamqp_6cError_create;
  __pyx_type_5uamqp_7c_uamqp_cError.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cError) < 0) __PYX_ERR(12, 30, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cError.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cError.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cError.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cError.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cError.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cError) < 0) __PYX_ERR(12, 30, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cError", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cError) < 0) __PYX_ERR(12, 30, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cError) < 0) __PYX_ERR(12, 30, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cError = &__pyx_type_5uamqp_7c_uamqp_cError;
  __pyx_vtabptr_5uamqp_7c_uamqp_cHeader = &__pyx_vtable_5uamqp_7c_uamqp_cHeader;
  __pyx_vtable_5uamqp_7c_uamqp_cHeader._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *))__pyx_f_5uamqp_7c_uamqp_7cHeader__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cHeader.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cHeader_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cHeader.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, HEADER_HANDLE))__pyx_f_5uamqp_7c_uamqp_7cHeader_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cHeader.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cHeader *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cHeader_clone;
  __pyx_type_5uamqp_7c_uamqp_cHeader.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cHeader) < 0) __PYX_ERR(13, 25, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cHeader.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cHeader.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cHeader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cHeader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cHeader.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cHeader) < 0) __PYX_ERR(13, 25, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cHeader", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cHeader) < 0) __PYX_ERR(13, 25, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cHeader) < 0) __PYX_ERR(13, 25, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cHeader = &__pyx_type_5uamqp_7c_uamqp_cHeader;
  __pyx_vtabptr_5uamqp_7c_uamqp_cLink = &__pyx_vtable_5uamqp_7c_uamqp_cLink;
  __pyx_vtable_5uamqp_7c_uamqp_cLink._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *))__pyx_f_5uamqp_7c_uamqp_5cLink__create;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *))__pyx_f_5uamqp_7c_uamqp_5cLink_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, role, AMQP_VALUE, AMQP_VALUE))__pyx_f_5uamqp_7c_uamqp_5cLink_create;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.subscribe_to_detach_event = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_subscribe_to_detach_event;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.unsubscribe_to_detach_event = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_unsubscribe_to_detach_event;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.do_work = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_do_work;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.set_prefetch_count = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, uint32_t, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_set_prefetch_count;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.set_attach_properties = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_set_attach_properties;
  __pyx_vtable_5uamqp_7c_uamqp_cLink.set_desired_capabilities = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cLink *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_5cLink_set_desired_capabilities;
  __pyx_type_5uamqp_7c_uamqp_cLink.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cLink) < 0) __PYX_ERR(14, 28, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cLink.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cLink.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cLink.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cLink.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cLink.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cLink) < 0) __PYX_ERR(14, 28, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cLink", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cLink) < 0) __PYX_ERR(14, 28, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cLink) < 0) __PYX_ERR(14, 28, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cLink = &__pyx_type_5uamqp_7c_uamqp_cLink;
  __pyx_vtabptr_5uamqp_7c_uamqp_cMessage = &__pyx_vtable_5uamqp_7c_uamqp_cMessage;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *))__pyx_f_5uamqp_7c_uamqp_8cMessage__create;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, MESSAGE_HANDLE))__pyx_f_5uamqp_7c_uamqp_8cMessage_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *))__pyx_f_5uamqp_7c_uamqp_8cMessage_create;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_clone;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.add_body_data = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_data;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.get_body_data = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, size_t, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_data;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.count_body_data = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_data;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.set_body_value = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_set_body_value;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.get_body_value = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_value;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.add_body_sequence = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_add_body_sequence;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.get_body_sequence = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, size_t, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_get_body_sequence;
  __pyx_vtable_5uamqp_7c_uamqp_cMessage.count_body_sequence = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cMessage_count_body_sequence;
  __pyx_type_5uamqp_7c_uamqp_cMessage.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cMessage) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cMessage.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cMessage.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cMessage.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cMessage.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cMessage.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cMessage) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cMessage", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cMessage) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cMessage) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cMessage = &__pyx_type_5uamqp_7c_uamqp_cMessage;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_Messaging) < 0) __PYX_ERR(0, 302, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_Messaging.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_Messaging.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_Messaging.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_Messaging.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "Messaging", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_Messaging) < 0) __PYX_ERR(0, 302, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_Messaging) < 0) __PYX_ERR(0, 302, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_Messaging = &__pyx_type_5uamqp_7c_uamqp_Messaging;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cMessageDecoder) < 0) __PYX_ERR(0, 637, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cMessageDecoder.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cMessageDecoder.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cMessageDecoder.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cMessageDecoder.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "cMessageDecoder", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cMessageDecoder) < 0) __PYX_ERR(0, 637, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cMessageDecoder) < 0) __PYX_ERR(0, 637, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cMessageDecoder = &__pyx_type_5uamqp_7c_uamqp_cMessageDecoder;
  __pyx_vtabptr_5uamqp_7c_uamqp_cMessageReceiver = &__pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *, ON_MESSAGE_RECEIVER_STATE_CHANGED, void *))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_create;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.open = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_open;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.close = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_close;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.last_received_message_number = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_last_received_message_number;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.settle_accepted_message = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_accepted_message;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.settle_released_message = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_released_message;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.settle_rejected_message = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, char const *, char const *, int __pyx_skip_dispatch, struct __pyx_opt_args_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message *__pyx_optional_args))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_rejected_message;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.settle_modified_message = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, delivery_number, int, int, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_settle_modified_message;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageReceiver.set_trace = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageReceiver *, int, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_16cMessageReceiver_set_trace;
  __pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cMessageReceiver) < 0) __PYX_ERR(7, 27, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cMessageReceiver.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cMessageReceiver) < 0) __PYX_ERR(7, 27, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cMessageReceiver", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cMessageReceiver) < 0) __PYX_ERR(7, 27, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cMessageReceiver) < 0) __PYX_ERR(7, 27, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cMessageReceiver = &__pyx_type_5uamqp_7c_uamqp_cMessageReceiver;
  __pyx_vtabptr_5uamqp_7c_uamqp_cMessageSender = &__pyx_vtable_5uamqp_7c_uamqp_cMessageSender;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.open = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_open;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.close = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_close;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *))__pyx_f_5uamqp_7c_uamqp_14cMessageSender__create;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cLink *, ON_MESSAGE_SENDER_STATE_CHANGED, void *))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_create;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.send = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, struct __pyx_obj_5uamqp_7c_uamqp_cMessage *, tickcounter_ms_t, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_send;
  __pyx_vtable_5uamqp_7c_uamqp_cMessageSender.set_trace = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cMessageSender *, int, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_14cMessageSender_set_trace;
  __pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cMessageSender) < 0) __PYX_ERR(15, 36, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cMessageSender.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cMessageSender) < 0) __PYX_ERR(15, 36, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cMessageSender", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cMessageSender) < 0) __PYX_ERR(15, 36, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cMessageSender) < 0) __PYX_ERR(15, 36, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cMessageSender = &__pyx_type_5uamqp_7c_uamqp_cMessageSender;
  __pyx_vtabptr_5uamqp_7c_uamqp_cProperties = &__pyx_vtable_5uamqp_7c_uamqp_cProperties;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *))__pyx_f_5uamqp_7c_uamqp_11cProperties__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_11cProperties_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, PROPERTIES_HANDLE))__pyx_f_5uamqp_7c_uamqp_11cProperties_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties.load_from_value = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, struct __pyx_obj_5uamqp_7c_uamqp_AMQPValue *))__pyx_f_5uamqp_7c_uamqp_11cProperties_load_from_value;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties.get_properties = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *))__pyx_f_5uamqp_7c_uamqp_11cProperties_get_properties;
  __pyx_vtable_5uamqp_7c_uamqp_cProperties.clone = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cProperties *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_11cProperties_clone;
  __pyx_type_5uamqp_7c_uamqp_cProperties.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cProperties) < 0) __PYX_ERR(17, 31, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cProperties.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cProperties.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cProperties.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cProperties.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cProperties.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cProperties) < 0) __PYX_ERR(17, 31, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cProperties", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cProperties) < 0) __PYX_ERR(17, 31, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cProperties) < 0) __PYX_ERR(17, 31, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cProperties = &__pyx_type_5uamqp_7c_uamqp_cProperties;
  __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanism = &__pyx_vtable_5uamqp_7c_uamqp_SASLMechanism;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *))__pyx_f_5uamqp_7c_uamqp_13SASLMechanism__create;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, SASL_MECHANISM_HANDLE))__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *))__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanism.create_with_parameters = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanism *, struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *, void *))__pyx_f_5uamqp_7c_uamqp_13SASLMechanism_create_with_parameters;
  __pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_SASLMechanism) < 0) __PYX_ERR(18, 66, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_SASLMechanism.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanism) < 0) __PYX_ERR(18, 66, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "SASLMechanism", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_SASLMechanism) < 0) __PYX_ERR(18, 66, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_SASLMechanism) < 0) __PYX_ERR(18, 66, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_SASLMechanism = &__pyx_type_5uamqp_7c_uamqp_SASLMechanism;
  __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription = &__pyx_vtable_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;
  __pyx_vtable_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription *, SASL_MECHANISM_INTERFACE_DESCRIPTION *))__pyx_f_5uamqp_7c_uamqp_33SASLMechanismInterfaceDescription_wrap;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription) < 0) __PYX_ERR(18, 103, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription) < 0) __PYX_ERR(18, 103, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "SASLMechanismInterfaceDescription", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription) < 0) __PYX_ERR(18, 103, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription) < 0) __PYX_ERR(18, 103, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription = &__pyx_type_5uamqp_7c_uamqp_SASLMechanismInterfaceDescription;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig) < 0) __PYX_ERR(18, 114, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "SASLClientIOConfig", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig) < 0) __PYX_ERR(18, 114, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig) < 0) __PYX_ERR(18, 114, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_SASLClientIOConfig = &__pyx_type_5uamqp_7c_uamqp_SASLClientIOConfig;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_SASLPlainConfig) < 0) __PYX_ERR(18, 132, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_SASLPlainConfig.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_SASLPlainConfig.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_SASLPlainConfig.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_SASLPlainConfig.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "SASLPlainConfig", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_SASLPlainConfig) < 0) __PYX_ERR(18, 132, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_SASLPlainConfig) < 0) __PYX_ERR(18, 132, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_SASLPlainConfig = &__pyx_type_5uamqp_7c_uamqp_SASLPlainConfig;
  __pyx_vtabptr_5uamqp_7c_uamqp_cSession = &__pyx_vtable_5uamqp_7c_uamqp_cSession;
  __pyx_vtable_5uamqp_7c_uamqp_cSession._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *))__pyx_f_5uamqp_7c_uamqp_8cSession__create;
  __pyx_vtable_5uamqp_7c_uamqp_cSession.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cSession_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cSession.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, struct __pyx_obj_5uamqp_7c_uamqp_cSession *))__pyx_f_5uamqp_7c_uamqp_8cSession_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_cSession.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, struct __pyx_obj_5uamqp_7c_uamqp_Connection *, ON_LINK_ATTACHED, void *))__pyx_f_5uamqp_7c_uamqp_8cSession_create;
  __pyx_vtable_5uamqp_7c_uamqp_cSession.begin = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cSession_begin;
  __pyx_vtable_5uamqp_7c_uamqp_cSession.end = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSession *, char const *, char const *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_8cSession_end;
  __pyx_type_5uamqp_7c_uamqp_cSession.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cSession) < 0) __PYX_ERR(19, 27, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cSession.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cSession.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cSession.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cSession.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cSession.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cSession) < 0) __PYX_ERR(19, 27, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cSession", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cSession) < 0) __PYX_ERR(19, 27, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cSession) < 0) __PYX_ERR(19, 27, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cSession = &__pyx_type_5uamqp_7c_uamqp_cSession;
  __pyx_vtabptr_5uamqp_7c_uamqp_cSource = &__pyx_vtable_5uamqp_7c_uamqp_cSource;
  __pyx_vtable_5uamqp_7c_uamqp_cSource._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *))__pyx_f_5uamqp_7c_uamqp_7cSource__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cSource.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cSource_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cSource.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cSource *, SOURCE_HANDLE))__pyx_f_5uamqp_7c_uamqp_7cSource_wrap;
  __pyx_type_5uamqp_7c_uamqp_cSource.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cSource) < 0) __PYX_ERR(20, 30, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cSource.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cSource.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cSource.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cSource.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cSource.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cSource) < 0) __PYX_ERR(20, 30, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cSource", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cSource) < 0) __PYX_ERR(20, 30, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cSource) < 0) __PYX_ERR(20, 30, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cSource = &__pyx_type_5uamqp_7c_uamqp_cSource;
  __pyx_vtabptr_5uamqp_7c_uamqp_cTarget = &__pyx_vtable_5uamqp_7c_uamqp_cTarget;
  __pyx_vtable_5uamqp_7c_uamqp_cTarget._validate = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *))__pyx_f_5uamqp_7c_uamqp_7cTarget__validate;
  __pyx_vtable_5uamqp_7c_uamqp_cTarget.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_7cTarget_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_cTarget.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_cTarget *, TARGET_HANDLE))__pyx_f_5uamqp_7c_uamqp_7cTarget_wrap;
  __pyx_type_5uamqp_7c_uamqp_cTarget.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_cTarget) < 0) __PYX_ERR(21, 30, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_cTarget.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_cTarget.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_cTarget.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_cTarget.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_cTarget.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_cTarget) < 0) __PYX_ERR(21, 30, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "cTarget", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_cTarget) < 0) __PYX_ERR(21, 30, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_cTarget) < 0) __PYX_ERR(21, 30, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_cTarget = &__pyx_type_5uamqp_7c_uamqp_cTarget;
  __pyx_vtabptr_5uamqp_7c_uamqp_TLSIOConfig = &__pyx_vtable_5uamqp_7c_uamqp_TLSIOConfig;
  __pyx_vtable_5uamqp_7c_uamqp_TLSIOConfig.set_proxy_config = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *, struct __pyx_obj_5uamqp_7c_uamqp_HTTPProxyConfig *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_11TLSIOConfig_set_proxy_config;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_TLSIOConfig) < 0) __PYX_ERR(22, 15, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_TLSIOConfig.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_TLSIOConfig.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_TLSIOConfig.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_TLSIOConfig.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_TLSIOConfig.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_TLSIOConfig) < 0) __PYX_ERR(22, 15, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "TLSIOConfig", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_TLSIOConfig) < 0) __PYX_ERR(22, 15, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_TLSIOConfig) < 0) __PYX_ERR(22, 15, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_TLSIOConfig = &__pyx_type_5uamqp_7c_uamqp_TLSIOConfig;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig) < 0) __PYX_ERR(22, 45, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttrString(__pyx_m, "HTTPProxyConfig", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig) < 0) __PYX_ERR(22, 45, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig) < 0) __PYX_ERR(22, 45, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_HTTPProxyConfig = &__pyx_type_5uamqp_7c_uamqp_HTTPProxyConfig;
  __pyx_vtabptr_5uamqp_7c_uamqp_WSIOConfig = &__pyx_vtable_5uamqp_7c_uamqp_WSIOConfig;
  __pyx_vtable_5uamqp_7c_uamqp_WSIOConfig.set_tlsio_config = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_WSIOConfig *, struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *, struct __pyx_obj_5uamqp_7c_uamqp_TLSIOConfig *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_10WSIOConfig_set_tlsio_config;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_WSIOConfig) < 0) __PYX_ERR(23, 17, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_WSIOConfig.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_WSIOConfig.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_WSIOConfig.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_WSIOConfig.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_WSIOConfig.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_WSIOConfig) < 0) __PYX_ERR(23, 17, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "WSIOConfig", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_WSIOConfig) < 0) __PYX_ERR(23, 17, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_WSIOConfig) < 0) __PYX_ERR(23, 17, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_WSIOConfig = &__pyx_type_5uamqp_7c_uamqp_WSIOConfig;
  __pyx_vtabptr_5uamqp_7c_uamqp_XIO = &__pyx_vtable_5uamqp_7c_uamqp_XIO;
  __pyx_vtable_5uamqp_7c_uamqp_XIO._create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *))__pyx_f_5uamqp_7c_uamqp_3XIO__create;
  __pyx_vtable_5uamqp_7c_uamqp_XIO.destroy = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_3XIO_destroy;
  __pyx_vtable_5uamqp_7c_uamqp_XIO.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, struct __pyx_obj_5uamqp_7c_uamqp_XIO *))__pyx_f_5uamqp_7c_uamqp_3XIO_wrap;
  __pyx_vtable_5uamqp_7c_uamqp_XIO.create = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, IO_INTERFACE_DESCRIPTION *, PyObject *, void *))__pyx_f_5uamqp_7c_uamqp_3XIO_create;
  __pyx_vtable_5uamqp_7c_uamqp_XIO.set_option = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, char const *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_3XIO_set_option;
  __pyx_vtable_5uamqp_7c_uamqp_XIO.set_certificates = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_XIO *, PyObject *, int __pyx_skip_dispatch))__pyx_f_5uamqp_7c_uamqp_3XIO_set_certificates;
  __pyx_type_5uamqp_7c_uamqp_XIO.tp_base = __pyx_ptype_5uamqp_7c_uamqp_StructBase;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_XIO) < 0) __PYX_ERR(24, 43, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_XIO.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_XIO.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_XIO.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_XIO.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_XIO.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_XIO) < 0) __PYX_ERR(24, 43, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "XIO", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_XIO) < 0) __PYX_ERR(24, 43, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_XIO) < 0) __PYX_ERR(24, 43, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_XIO = &__pyx_type_5uamqp_7c_uamqp_XIO;
  __pyx_vtabptr_5uamqp_7c_uamqp_IOInterfaceDescription = &__pyx_vtable_5uamqp_7c_uamqp_IOInterfaceDescription;
  __pyx_vtable_5uamqp_7c_uamqp_IOInterfaceDescription.wrap = (PyObject *(*)(struct __pyx_obj_5uamqp_7c_uamqp_IOInterfaceDescription *, IO_INTERFACE_DESCRIPTION *))__pyx_f_5uamqp_7c_uamqp_22IOInterfaceDescription_wrap;
  if (PyType_Ready(&__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription) < 0) __PYX_ERR(24, 90, __pyx_L1_error)
  __pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription.tp_print = 0;
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription.tp_dictoffset && __pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription.tp_dict, __pyx_vtabptr_5uamqp_7c_uamqp_IOInterfaceDescription) < 0) __PYX_ERR(24, 90, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "IOInterfaceDescription", (PyObject *)&__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription) < 0) __PYX_ERR(24, 90, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription) < 0) __PYX_ERR(24, 90, __pyx_L1_error)
  __pyx_ptype_5uamqp_7c_uamqp_IOInterfaceDescription = &__pyx_type_5uamqp_7c_uamqp_IOInterfaceDescription;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", 
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject),
  #else
  sizeof(PyHeapTypeObject),
  #endif
  0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) __PYX_ERR(27, 9, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}


#if PY_MAJOR_VERSION < 3
#ifdef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC void
#else
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#endif
#else
#ifdef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#endif
#endif
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (!(defined(__cplusplus)) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif


#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC initc_uamqp(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC initc_uamqp(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_c_uamqp(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_c_uamqp(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
static int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name) {
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        result = PyDict_SetItemString(moddict, to_name, value);
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__") < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__") < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__") < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__") < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static int __pyx_pymod_exec_c_uamqp(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m && __pyx_m == __pyx_pyinit_module) return 0;
  #elif PY_MAJOR_VERSION >= 3
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  #if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
if (!__Pyx_RefNanny) {
  PyErr_Clear();
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
  if (!__Pyx_RefNanny)
      Py_FatalError("failed to import 'refnanny' module");
}
#endif
  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_c_uamqp(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(26, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_m = __pyx_pyinit_module;
  Py_INCREF(__pyx_m);
  #else
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("c_uamqp", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(26, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(26, 1, __pyx_L1_error)
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(26, 1, __pyx_L1_error)
  #if CYTHON_COMPILING_IN_PYPY
  Py_INCREF(__pyx_b);
  #endif
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(26, 1, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_uamqp__c_uamqp) {
    if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(26, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "uamqp.c_uamqp")) {
      if (unlikely(PyDict_SetItemString(modules, "uamqp.c_uamqp", __pyx_m) < 0)) __PYX_ERR(26, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code();
  (void)__Pyx_modinit_variable_export_code();
  (void)__Pyx_modinit_function_export_code();
  if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error;
  if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error;
  (void)__Pyx_modinit_variable_import_code();
  (void)__Pyx_modinit_function_import_code();
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  #endif

  /* "src/amqp_definitions.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqp_definitions.pyx":18
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(1, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/amqp_management.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(8, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/amqp_management.pyx":15
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(8, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import six
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(3, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":9
 * # Python imports
 * import logging
 * import six             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_six, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_six, __pyx_t_2) < 0) __PYX_ERR(3, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqp_string.pyx":15
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(3, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/amqpvalue.pyx":8
 * 
 * # Python imports
 * from enum import Enum             # <<<<<<<<<<<<<<
 * import logging
 * import uuid
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Enum);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_1) < 0) __PYX_ERR(4, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":9
 * # Python imports
 * from enum import Enum
 * import logging             # <<<<<<<<<<<<<<
 * import uuid
 * import copy
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":10
 * from enum import Enum
 * import logging
 * import uuid             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_uuid, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_uuid, __pyx_t_2) < 0) __PYX_ERR(4, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":11
 * import logging
 * import uuid
 * import copy             # <<<<<<<<<<<<<<
 * 
 * import six
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_2) < 0) __PYX_ERR(4, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":13
 * import copy
 * 
 * import six             # <<<<<<<<<<<<<<
 * 
 * # C improts
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_six, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 13, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_six, __pyx_t_2) < 0) __PYX_ERR(4, 13, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":25
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(4, 25, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/amqpvalue.pyx":50
 * 
 * 
 * class AMQPType(Enum):             # <<<<<<<<<<<<<<
 *     NullValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_NULL
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_Enum); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_AMQPType, __pyx_n_s_AMQPType, (PyObject *) NULL, __pyx_n_s_uamqp_c_uamqp, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "src/amqpvalue.pyx":51
 * 
 * class AMQPType(Enum):
 *     NullValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_NULL             # <<<<<<<<<<<<<<
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL
 *     UByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UBYTE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_NullValue, __pyx_t_4) < 0) __PYX_ERR(4, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":52
 * class AMQPType(Enum):
 *     NullValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_NULL
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL             # <<<<<<<<<<<<<<
 *     UByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UBYTE
 *     UShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_USHORT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_BOOL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_BoolValue, __pyx_t_4) < 0) __PYX_ERR(4, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":53
 *     NullValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_NULL
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL
 *     UByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UBYTE             # <<<<<<<<<<<<<<
 *     UShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_USHORT
 *     UIntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UINT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_UBYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UByteValue, __pyx_t_4) < 0) __PYX_ERR(4, 53, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":54
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL
 *     UByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UBYTE
 *     UShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_USHORT             # <<<<<<<<<<<<<<
 *     UIntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UINT
 *     ULongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ULONG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_USHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UShortValue, __pyx_t_4) < 0) __PYX_ERR(4, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":55
 *     UByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UBYTE
 *     UShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_USHORT
 *     UIntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UINT             # <<<<<<<<<<<<<<
 *     ULongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ULONG
 *     ByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BYTE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_UINT); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UIntValue, __pyx_t_4) < 0) __PYX_ERR(4, 55, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":56
 *     UShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_USHORT
 *     UIntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UINT
 *     ULongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ULONG             # <<<<<<<<<<<<<<
 *     ByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BYTE
 *     ShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SHORT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_ULONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ULongValue, __pyx_t_4) < 0) __PYX_ERR(4, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":57
 *     UIntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UINT
 *     ULongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ULONG
 *     ByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BYTE             # <<<<<<<<<<<<<<
 *     ShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SHORT
 *     IntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_INT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ByteValue, __pyx_t_4) < 0) __PYX_ERR(4, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":58
 *     ULongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ULONG
 *     ByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BYTE
 *     ShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SHORT             # <<<<<<<<<<<<<<
 *     IntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_INT
 *     LongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LONG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ShortValue, __pyx_t_4) < 0) __PYX_ERR(4, 58, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":59
 *     ByteValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BYTE
 *     ShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SHORT
 *     IntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_INT             # <<<<<<<<<<<<<<
 *     LongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LONG
 *     FloatValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_FLOAT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_IntValue, __pyx_t_4) < 0) __PYX_ERR(4, 59, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":60
 *     ShortValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SHORT
 *     IntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_INT
 *     LongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LONG             # <<<<<<<<<<<<<<
 *     FloatValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_FLOAT
 *     DoubleValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DOUBLE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_LongValue, __pyx_t_4) < 0) __PYX_ERR(4, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":61
 *     IntValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_INT
 *     LongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LONG
 *     FloatValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_FLOAT             # <<<<<<<<<<<<<<
 *     DoubleValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DOUBLE
 *     CharValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_CHAR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_FloatValue, __pyx_t_4) < 0) __PYX_ERR(4, 61, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":62
 *     LongValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LONG
 *     FloatValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_FLOAT
 *     DoubleValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DOUBLE             # <<<<<<<<<<<<<<
 *     CharValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_CHAR
 *     TimestampValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_TIMESTAMP
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_DOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_DoubleValue, __pyx_t_4) < 0) __PYX_ERR(4, 62, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":63
 *     FloatValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_FLOAT
 *     DoubleValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DOUBLE
 *     CharValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_CHAR             # <<<<<<<<<<<<<<
 *     TimestampValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_TIMESTAMP
 *     UUIDValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UUID
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_CHAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_CharValue, __pyx_t_4) < 0) __PYX_ERR(4, 63, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":64
 *     DoubleValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DOUBLE
 *     CharValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_CHAR
 *     TimestampValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_TIMESTAMP             # <<<<<<<<<<<<<<
 *     UUIDValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UUID
 *     BinaryValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BINARY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_TIMESTAMP); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_TimestampValue, __pyx_t_4) < 0) __PYX_ERR(4, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":65
 *     CharValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_CHAR
 *     TimestampValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_TIMESTAMP
 *     UUIDValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UUID             # <<<<<<<<<<<<<<
 *     BinaryValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BINARY
 *     StringValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_STRING
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_UUID); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UUIDValue, __pyx_t_4) < 0) __PYX_ERR(4, 65, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":66
 *     TimestampValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_TIMESTAMP
 *     UUIDValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UUID
 *     BinaryValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BINARY             # <<<<<<<<<<<<<<
 *     StringValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_STRING
 *     SymbolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SYMBOL
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_BINARY); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_BinaryValue, __pyx_t_4) < 0) __PYX_ERR(4, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":67
 *     UUIDValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UUID
 *     BinaryValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BINARY
 *     StringValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_STRING             # <<<<<<<<<<<<<<
 *     SymbolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SYMBOL
 *     ListValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LIST
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_STRING); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_StringValue, __pyx_t_4) < 0) __PYX_ERR(4, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":68
 *     BinaryValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BINARY
 *     StringValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_STRING
 *     SymbolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SYMBOL             # <<<<<<<<<<<<<<
 *     ListValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LIST
 *     DictValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_MAP
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_SYMBOL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_SymbolValue, __pyx_t_4) < 0) __PYX_ERR(4, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":69
 *     StringValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_STRING
 *     SymbolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SYMBOL
 *     ListValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LIST             # <<<<<<<<<<<<<<
 *     DictValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_MAP
 *     ArrayValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ARRAY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_LIST); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ListValue, __pyx_t_4) < 0) __PYX_ERR(4, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":70
 *     SymbolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_SYMBOL
 *     ListValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LIST
 *     DictValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_MAP             # <<<<<<<<<<<<<<
 *     ArrayValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ARRAY
 *     DescribedType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DESCRIBED
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_MAP); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_DictValue, __pyx_t_4) < 0) __PYX_ERR(4, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":71
 *     ListValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_LIST
 *     DictValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_MAP
 *     ArrayValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ARRAY             # <<<<<<<<<<<<<<
 *     DescribedType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DESCRIBED
 *     CompositeType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_COMPOSITE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_ARRAY); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ArrayValue, __pyx_t_4) < 0) __PYX_ERR(4, 71, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":72
 *     DictValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_MAP
 *     ArrayValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ARRAY
 *     DescribedType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DESCRIBED             # <<<<<<<<<<<<<<
 *     CompositeType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_COMPOSITE
 *     UnknownType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UNKNOWN
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_DESCRIBED); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_DescribedType, __pyx_t_4) < 0) __PYX_ERR(4, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":73
 *     ArrayValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_ARRAY
 *     DescribedType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DESCRIBED
 *     CompositeType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_COMPOSITE             # <<<<<<<<<<<<<<
 *     UnknownType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UNKNOWN
 *     ErrorType = 999
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_COMPOSITE); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_CompositeType, __pyx_t_4) < 0) __PYX_ERR(4, 73, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":74
 *     DescribedType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_DESCRIBED
 *     CompositeType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_COMPOSITE
 *     UnknownType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UNKNOWN             # <<<<<<<<<<<<<<
 *     ErrorType = 999
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(AMQP_TYPE_UNKNOWN); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UnknownType, __pyx_t_4) < 0) __PYX_ERR(4, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/amqpvalue.pyx":75
 *     CompositeType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_COMPOSITE
 *     UnknownType = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_UNKNOWN
 *     ErrorType = 999             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ErrorType, __pyx_int_999) < 0) __PYX_ERR(4, 75, __pyx_L1_error)

  /* "src/amqpvalue.pyx":50
 * 
 * 
 * class AMQPType(Enum):             # <<<<<<<<<<<<<<
 *     NullValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_NULL
 *     BoolValue = c_amqpvalue.AMQP_TYPE_TAG.AMQP_TYPE_BOOL
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_AMQPType, __pyx_t_2, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQPType, __pyx_t_4) < 0) __PYX_ERR(4, 50, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/amqpvalue.pyx":273
 * cdef class AMQPValue(StructBase):
 * 
 *     _type = AMQPType.NullValue             # <<<<<<<<<<<<<<
 *     cdef c_amqpvalue.AMQP_VALUE _c_value
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_NullValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_AMQPValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_AMQPValue);

  /* "src/amqpvalue.pyx":371
 * cdef class BoolValue(AMQPValue):
 * 
 *     _type = AMQPType.BoolValue             # <<<<<<<<<<<<<<
 * 
 *     cpdef _bool_value(self):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BoolValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BoolValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_BoolValue);

  /* "src/amqpvalue.pyx":398
 * cdef class UByteValue(AMQPValue):
 * 
 *     _type = AMQPType.UByteValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, unsigned char value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_UByteValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UByteValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_UByteValue);

  /* "src/amqpvalue.pyx":416
 * cdef class UShortValue(AMQPValue):
 * 
 *     _type = AMQPType.UShortValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.uint16_t value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_UShortValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UShortValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_UShortValue);

  /* "src/amqpvalue.pyx":434
 * cdef class UIntValue(AMQPValue):
 * 
 *     _type = AMQPType.UIntValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.uint32_t value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_UIntValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UIntValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_UIntValue);

  /* "src/amqpvalue.pyx":452
 * cdef class ULongValue(AMQPValue):
 * 
 *     _type = AMQPType.ULongValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.uint64_t value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ULongValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ULongValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_ULongValue);

  /* "src/amqpvalue.pyx":470
 * cdef class ByteValue(AMQPValue):
 * 
 *     _type = AMQPType.ByteValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, char value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ByteValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ByteValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_ByteValue);

  /* "src/amqpvalue.pyx":488
 * cdef class ShortValue(AMQPValue):
 * 
 *     _type = AMQPType.ShortValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.int16_t value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ShortValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ShortValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_ShortValue);

  /* "src/amqpvalue.pyx":506
 * cdef class IntValue(AMQPValue):
 * 
 *     _type = AMQPType.IntValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.int32_t value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IntValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_IntValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_IntValue);

  /* "src/amqpvalue.pyx":524
 * cdef class LongValue(AMQPValue):
 * 
 *     _type = AMQPType.LongValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.int64_t value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_LongValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_LongValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_LongValue);

  /* "src/amqpvalue.pyx":542
 * cdef class FloatValue(AMQPValue):
 * 
 *     _type = AMQPType.FloatValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, float value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_FloatValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_FloatValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_FloatValue);

  /* "src/amqpvalue.pyx":560
 * cdef class DoubleValue(AMQPValue):
 * 
 *     _type = AMQPType.DoubleValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, double value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_DoubleValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DoubleValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_DoubleValue);

  /* "src/amqpvalue.pyx":578
 * cdef class CharValue(AMQPValue):
 * 
 *     _type = AMQPType.CharValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.uint32_t value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_CharValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_CharValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_CharValue);

  /* "src/amqpvalue.pyx":596
 * cdef class TimestampValue(AMQPValue):
 * 
 *     _type = AMQPType.TimestampValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, stdint.int64_t value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_TimestampValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_TimestampValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_TimestampValue);

  /* "src/amqpvalue.pyx":614
 * cdef class UUIDValue(AMQPValue):
 * 
 *     _type = AMQPType.UUIDValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, bytes value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_UUIDValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_UUIDValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_UUIDValue);

  /* "src/amqpvalue.pyx":629
 * cdef class BinaryValue(AMQPValue):
 * 
 *     _type = AMQPType.BinaryValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, bytes value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BinaryValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_BinaryValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_BinaryValue);

  /* "src/amqpvalue.pyx":661
 * cdef class StringValue(AMQPValue):
 * 
 *     _type = AMQPType.StringValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, char* value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_StringValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_StringValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_StringValue);

  /* "src/amqpvalue.pyx":679
 * cdef class SymbolValue(AMQPValue):
 * 
 *     _type = AMQPType.SymbolValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self, char* value):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_SymbolValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_SymbolValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_SymbolValue);

  /* "src/amqpvalue.pyx":697
 * cdef class ListValue(AMQPValue):
 * 
 *     _type = AMQPType.ListValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ListValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ListValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_ListValue);

  /* "src/amqpvalue.pyx":751
 * cdef class DictValue(AMQPValue):
 * 
 *     _type = AMQPType.DictValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_DictValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DictValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_DictValue);

  /* "src/amqpvalue.pyx":804
 * cdef class ArrayValue(AMQPValue):
 * 
 *     _type = AMQPType.ArrayValue             # <<<<<<<<<<<<<<
 * 
 *     def create(self):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ArrayValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_ArrayValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_ArrayValue);

  /* "src/amqpvalue.pyx":849
 * cdef class CompositeValue(AMQPValue):
 * 
 *     _type = AMQPType.CompositeType             # <<<<<<<<<<<<<<
 * 
 *     def create(self, AMQPValue descriptor, stdint.uint32_t list_size):
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_CompositeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_CompositeValue->tp_dict, __pyx_n_s_type_2, __pyx_t_2) < 0) __PYX_ERR(4, 849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_CompositeValue);

  /* "src/amqpvalue.pyx":905
 * cdef class DescribedValue(AMQPValue):
 * 
 *     _type = AMQPType.DescribedType             # <<<<<<<<<<<<<<
 * 
 *     def create(self, AMQPValue descriptor, AMQPValue value):
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_AMQPType); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_DescribedType); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_DescribedValue->tp_dict, __pyx_n_s_type_2, __pyx_t_3) < 0) __PYX_ERR(4, 905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_DescribedValue);

  /* "src/annotations.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(9, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/annotations.pyx":9
 * # Python imports
 * import logging
 * import copy             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_3) < 0) __PYX_ERR(9, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/annotations.pyx":19
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(9, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/async_operation.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(10, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/async_operation.pyx":14
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/base.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(5, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/base.pyx":15
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/cbs.pyx":8
 * 
 * # Python imports
 * from enum import Enum             # <<<<<<<<<<<<<<
 * import time
 * import logging
 */
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Enum);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_3) < 0) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/cbs.pyx":9
 * # Python imports
 * from enum import Enum
 * import time             # <<<<<<<<<<<<<<
 * import logging
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_2) < 0) __PYX_ERR(11, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/cbs.pyx":10
 * from enum import Enum
 * import time
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(11, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/cbs.pyx":23
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(11, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * from enum import Enum
 * 
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(6, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/connection.pyx":9
 * # Python imports
 * import logging
 * from enum import Enum             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Enum);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_1) < 0) __PYX_ERR(6, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/connection.pyx":18
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(6, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/connection.pyx":27
 * 
 * 
 * class ConnectionState(Enum):             # <<<<<<<<<<<<<<
 *     START = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_START
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_Enum); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_ConnectionState, __pyx_n_s_ConnectionState, (PyObject *) NULL, __pyx_n_s_uamqp_c_uamqp, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "src/connection.pyx":28
 * 
 * class ConnectionState(Enum):
 *     START = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_START             # <<<<<<<<<<<<<<
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD
 *     HDR_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_SENT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_START); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_START, __pyx_t_4) < 0) __PYX_ERR(6, 28, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":29
 * class ConnectionState(Enum):
 *     START = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_START
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD             # <<<<<<<<<<<<<<
 *     HDR_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_SENT
 *     HDR_EXCH = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_EXCH
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_HDR_RCVD); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_HDR_RCVD, __pyx_t_4) < 0) __PYX_ERR(6, 29, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":30
 *     START = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_START
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD
 *     HDR_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_SENT             # <<<<<<<<<<<<<<
 *     HDR_EXCH = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_EXCH
 *     OPEN_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_PIPE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_HDR_SENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_HDR_SENT, __pyx_t_4) < 0) __PYX_ERR(6, 30, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":31
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD
 *     HDR_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_SENT
 *     HDR_EXCH = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_EXCH             # <<<<<<<<<<<<<<
 *     OPEN_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_PIPE
 *     OC_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OC_PIPE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_HDR_EXCH); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_HDR_EXCH, __pyx_t_4) < 0) __PYX_ERR(6, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":32
 *     HDR_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_SENT
 *     HDR_EXCH = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_EXCH
 *     OPEN_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_PIPE             # <<<<<<<<<<<<<<
 *     OC_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OC_PIPE
 *     OPEN_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_RCVD
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_OPEN_PIPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_OPEN_PIPE, __pyx_t_4) < 0) __PYX_ERR(6, 32, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":33
 *     HDR_EXCH = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_EXCH
 *     OPEN_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_PIPE
 *     OC_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OC_PIPE             # <<<<<<<<<<<<<<
 *     OPEN_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_RCVD
 *     OPEN_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_SENT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_OC_PIPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_OC_PIPE, __pyx_t_4) < 0) __PYX_ERR(6, 33, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":34
 *     OPEN_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_PIPE
 *     OC_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OC_PIPE
 *     OPEN_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_RCVD             # <<<<<<<<<<<<<<
 *     OPEN_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_SENT
 *     CLOSE_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_PIPE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_OPEN_RCVD); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_OPEN_RCVD, __pyx_t_4) < 0) __PYX_ERR(6, 34, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":35
 *     OC_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OC_PIPE
 *     OPEN_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_RCVD
 *     OPEN_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_SENT             # <<<<<<<<<<<<<<
 *     CLOSE_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_PIPE
 *     OPENED = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPENED
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_OPEN_SENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_OPEN_SENT, __pyx_t_4) < 0) __PYX_ERR(6, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":36
 *     OPEN_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_RCVD
 *     OPEN_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_SENT
 *     CLOSE_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_PIPE             # <<<<<<<<<<<<<<
 *     OPENED = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPENED
 *     CLOSE_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_RCVD
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_CLOSE_PIPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_CLOSE_PIPE, __pyx_t_4) < 0) __PYX_ERR(6, 36, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":37
 *     OPEN_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPEN_SENT
 *     CLOSE_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_PIPE
 *     OPENED = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPENED             # <<<<<<<<<<<<<<
 *     CLOSE_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_RCVD
 *     CLOSE_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_SENT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_OPENED); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_OPENED, __pyx_t_4) < 0) __PYX_ERR(6, 37, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":38
 *     CLOSE_PIPE = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_PIPE
 *     OPENED = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPENED
 *     CLOSE_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_RCVD             # <<<<<<<<<<<<<<
 *     CLOSE_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_SENT
 *     DISCARDING = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_DISCARDING
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_CLOSE_RCVD); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_CLOSE_RCVD, __pyx_t_4) < 0) __PYX_ERR(6, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":39
 *     OPENED = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_OPENED
 *     CLOSE_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_RCVD
 *     CLOSE_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_SENT             # <<<<<<<<<<<<<<
 *     DISCARDING = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_DISCARDING
 *     END = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_END
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_CLOSE_SENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_CLOSE_SENT, __pyx_t_4) < 0) __PYX_ERR(6, 39, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":40
 *     CLOSE_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_RCVD
 *     CLOSE_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_SENT
 *     DISCARDING = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_DISCARDING             # <<<<<<<<<<<<<<
 *     END = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_END
 *     ERROR = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_ERROR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_DISCARDING); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_DISCARDING, __pyx_t_4) < 0) __PYX_ERR(6, 40, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":41
 *     CLOSE_SENT = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_CLOSE_SENT
 *     DISCARDING = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_DISCARDING
 *     END = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_END             # <<<<<<<<<<<<<<
 *     ERROR = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_ERROR
 *     UNKNOWN = 999
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_END); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_END, __pyx_t_4) < 0) __PYX_ERR(6, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":42
 *     DISCARDING = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_DISCARDING
 *     END = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_END
 *     ERROR = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_ERROR             # <<<<<<<<<<<<<<
 *     UNKNOWN = 999
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(CONNECTION_STATE_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_ERROR, __pyx_t_4) < 0) __PYX_ERR(6, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/connection.pyx":43
 *     END = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_END
 *     ERROR = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_ERROR
 *     UNKNOWN = 999             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_UNKNOWN, __pyx_int_999) < 0) __PYX_ERR(6, 43, __pyx_L1_error)

  /* "src/connection.pyx":27
 * 
 * 
 * class ConnectionState(Enum):             # <<<<<<<<<<<<<<
 *     START = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_START
 *     HDR_RCVD = c_connection.CONNECTION_STATE_TAG.CONNECTION_STATE_HDR_RCVD
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ConnectionState, __pyx_t_2, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ConnectionState, __pyx_t_4) < 0) __PYX_ERR(6, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/constants.pyx":8
 * 
 * # Python imports
 * from enum import Enum             # <<<<<<<<<<<<<<
 * import logging
 * 
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Enum);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_2, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_2) < 0) __PYX_ERR(28, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":9
 * # Python imports
 * from enum import Enum
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(28, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":19
 * 
 * 
 * APACHE = "apache.org"             # <<<<<<<<<<<<<<
 * AMQP_BATCH_MESSAGE_FORMAT = 0x80013700
 * AMQPS_PORT = 5671
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_APACHE, __pyx_kp_s_apache_org) < 0) __PYX_ERR(28, 19, __pyx_L1_error)

  /* "src/constants.pyx":20
 * 
 * APACHE = "apache.org"
 * AMQP_BATCH_MESSAGE_FORMAT = 0x80013700             # <<<<<<<<<<<<<<
 * AMQPS_PORT = 5671
 * AMQP_WSS_PORT = 443
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_BATCH_MESSAGE_FORMAT, __pyx_int_2147563264) < 0) __PYX_ERR(28, 20, __pyx_L1_error)

  /* "src/constants.pyx":21
 * APACHE = "apache.org"
 * AMQP_BATCH_MESSAGE_FORMAT = 0x80013700
 * AMQPS_PORT = 5671             # <<<<<<<<<<<<<<
 * AMQP_WSS_PORT = 443
 * AUTH_EXPIRATION_SECS = 60 * 60
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQPS_PORT, __pyx_int_5671) < 0) __PYX_ERR(28, 21, __pyx_L1_error)

  /* "src/constants.pyx":22
 * AMQP_BATCH_MESSAGE_FORMAT = 0x80013700
 * AMQPS_PORT = 5671
 * AMQP_WSS_PORT = 443             # <<<<<<<<<<<<<<
 * AUTH_EXPIRATION_SECS = 60 * 60
 * AUTH_REFRESH_SECS = 48 * 60  # 80% of expiration period
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_WSS_PORT, __pyx_int_443) < 0) __PYX_ERR(28, 22, __pyx_L1_error)

  /* "src/constants.pyx":23
 * AMQPS_PORT = 5671
 * AMQP_WSS_PORT = 443
 * AUTH_EXPIRATION_SECS = 60 * 60             # <<<<<<<<<<<<<<
 * AUTH_REFRESH_SECS = 48 * 60  # 80% of expiration period
 * MAX_PARTITION_KEY_LENGTH = 128
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_EXPIRATION_SECS, __pyx_int_3600) < 0) __PYX_ERR(28, 23, __pyx_L1_error)

  /* "src/constants.pyx":24
 * AMQP_WSS_PORT = 443
 * AUTH_EXPIRATION_SECS = 60 * 60
 * AUTH_REFRESH_SECS = 48 * 60  # 80% of expiration period             # <<<<<<<<<<<<<<
 * MAX_PARTITION_KEY_LENGTH = 128
 * MAX_MESSAGE_LENGTH_BYTES = 1024 * 1024
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_REFRESH_SECS, __pyx_int_2880) < 0) __PYX_ERR(28, 24, __pyx_L1_error)

  /* "src/constants.pyx":25
 * AUTH_EXPIRATION_SECS = 60 * 60
 * AUTH_REFRESH_SECS = 48 * 60  # 80% of expiration period
 * MAX_PARTITION_KEY_LENGTH = 128             # <<<<<<<<<<<<<<
 * MAX_MESSAGE_LENGTH_BYTES = 1024 * 1024
 * MAX_FRAME_SIZE_BYTES = 64 * 1024
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PARTITION_KEY_LENGTH, __pyx_int_128) < 0) __PYX_ERR(28, 25, __pyx_L1_error)

  /* "src/constants.pyx":26
 * AUTH_REFRESH_SECS = 48 * 60  # 80% of expiration period
 * MAX_PARTITION_KEY_LENGTH = 128
 * MAX_MESSAGE_LENGTH_BYTES = 1024 * 1024             # <<<<<<<<<<<<<<
 * MAX_FRAME_SIZE_BYTES = 64 * 1024
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_MESSAGE_LENGTH_BYTES, __pyx_int_1048576) < 0) __PYX_ERR(28, 26, __pyx_L1_error)

  /* "src/constants.pyx":27
 * MAX_PARTITION_KEY_LENGTH = 128
 * MAX_MESSAGE_LENGTH_BYTES = 1024 * 1024
 * MAX_FRAME_SIZE_BYTES = 64 * 1024             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_FRAME_SIZE_BYTES, __pyx_int_65536) < 0) __PYX_ERR(28, 27, __pyx_L1_error)

  /* "src/constants.pyx":30
 * 
 * 
 * ROLE_SENDER = c_amqp_definitions.role_sender             # <<<<<<<<<<<<<<
 * ROLE_RECEIVER = c_amqp_definitions.role_receiver
 * 
 */
  __pyx_t_3 = __Pyx_PyBool_FromLong(role_sender); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROLE_SENDER, __pyx_t_3) < 0) __PYX_ERR(28, 30, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":31
 * 
 * ROLE_SENDER = c_amqp_definitions.role_sender
 * ROLE_RECEIVER = c_amqp_definitions.role_receiver             # <<<<<<<<<<<<<<
 * 
 * SENDER_SETTLE_MODE_UNSETTLED = c_amqp_definitions.sender_settle_mode_unsettled
 */
  __pyx_t_3 = __Pyx_PyBool_FromLong(role_receiver); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROLE_RECEIVER, __pyx_t_3) < 0) __PYX_ERR(28, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":33
 * ROLE_RECEIVER = c_amqp_definitions.role_receiver
 * 
 * SENDER_SETTLE_MODE_UNSETTLED = c_amqp_definitions.sender_settle_mode_unsettled             # <<<<<<<<<<<<<<
 * SENDER_SETTLE_MODE_SETTLED = c_amqp_definitions.sender_settle_mode_settled
 * SENDER_SETTLE_MODE_MIXED = c_amqp_definitions.sender_settle_mode_mixed
 */
  __pyx_t_3 = __Pyx_PyInt_From_uint8_t(sender_settle_mode_unsettled); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SENDER_SETTLE_MODE_UNSETTLED, __pyx_t_3) < 0) __PYX_ERR(28, 33, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":34
 * 
 * SENDER_SETTLE_MODE_UNSETTLED = c_amqp_definitions.sender_settle_mode_unsettled
 * SENDER_SETTLE_MODE_SETTLED = c_amqp_definitions.sender_settle_mode_settled             # <<<<<<<<<<<<<<
 * SENDER_SETTLE_MODE_MIXED = c_amqp_definitions.sender_settle_mode_mixed
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_uint8_t(sender_settle_mode_settled); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SENDER_SETTLE_MODE_SETTLED, __pyx_t_3) < 0) __PYX_ERR(28, 34, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":35
 * SENDER_SETTLE_MODE_UNSETTLED = c_amqp_definitions.sender_settle_mode_unsettled
 * SENDER_SETTLE_MODE_SETTLED = c_amqp_definitions.sender_settle_mode_settled
 * SENDER_SETTLE_MODE_MIXED = c_amqp_definitions.sender_settle_mode_mixed             # <<<<<<<<<<<<<<
 * 
 * RECEIVER_SETTLE_MODE_RECEIVEANDDELETE = c_amqp_definitions.receiver_settle_mode_first
 */
  __pyx_t_3 = __Pyx_PyInt_From_uint8_t(sender_settle_mode_mixed); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SENDER_SETTLE_MODE_MIXED, __pyx_t_3) < 0) __PYX_ERR(28, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":37
 * SENDER_SETTLE_MODE_MIXED = c_amqp_definitions.sender_settle_mode_mixed
 * 
 * RECEIVER_SETTLE_MODE_RECEIVEANDDELETE = c_amqp_definitions.receiver_settle_mode_first             # <<<<<<<<<<<<<<
 * RECEIVER_SETTLE_MODE_PEEKLOCK = c_amqp_definitions.receiver_settle_mode_second
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_int(receiver_settle_mode_first); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 37, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RECEIVER_SETTLE_MODE_RECEIVEANDD, __pyx_t_3) < 0) __PYX_ERR(28, 37, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":38
 * 
 * RECEIVER_SETTLE_MODE_RECEIVEANDDELETE = c_amqp_definitions.receiver_settle_mode_first
 * RECEIVER_SETTLE_MODE_PEEKLOCK = c_amqp_definitions.receiver_settle_mode_second             # <<<<<<<<<<<<<<
 * 
 * CBS_OPERATION_RESULT_OK = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_int(receiver_settle_mode_second); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RECEIVER_SETTLE_MODE_PEEKLOCK, __pyx_t_3) < 0) __PYX_ERR(28, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":40
 * RECEIVER_SETTLE_MODE_PEEKLOCK = c_amqp_definitions.receiver_settle_mode_second
 * 
 * CBS_OPERATION_RESULT_OK = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OK             # <<<<<<<<<<<<<<
 * CBS_OPERATION_RESULT_CBS_ERROR = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_CBS_ERROR
 * CBS_OPERATION_RESULT_OPERATION_FAILED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OPERATION_FAILED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(CBS_OPERATION_RESULT_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPERATION_RESULT_OK, __pyx_t_3) < 0) __PYX_ERR(28, 40, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":41
 * 
 * CBS_OPERATION_RESULT_OK = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OK
 * CBS_OPERATION_RESULT_CBS_ERROR = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_CBS_ERROR             # <<<<<<<<<<<<<<
 * CBS_OPERATION_RESULT_OPERATION_FAILED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OPERATION_FAILED
 * CBS_OPERATION_RESULT_INSTANCE_CLOSED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_INSTANCE_CLOSED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(CBS_OPERATION_RESULT_CBS_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPERATION_RESULT_CBS_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 41, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":42
 * CBS_OPERATION_RESULT_OK = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OK
 * CBS_OPERATION_RESULT_CBS_ERROR = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_CBS_ERROR
 * CBS_OPERATION_RESULT_OPERATION_FAILED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OPERATION_FAILED             # <<<<<<<<<<<<<<
 * CBS_OPERATION_RESULT_INSTANCE_CLOSED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_INSTANCE_CLOSED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(CBS_OPERATION_RESULT_OPERATION_FAILED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPERATION_RESULT_OPERATION_F, __pyx_t_3) < 0) __PYX_ERR(28, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":43
 * CBS_OPERATION_RESULT_CBS_ERROR = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_CBS_ERROR
 * CBS_OPERATION_RESULT_OPERATION_FAILED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_OPERATION_FAILED
 * CBS_OPERATION_RESULT_INSTANCE_CLOSED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_INSTANCE_CLOSED             # <<<<<<<<<<<<<<
 * 
 * CBS_OPEN_COMPLETE_OK = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(CBS_OPERATION_RESULT_INSTANCE_CLOSED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPERATION_RESULT_INSTANCE_CL, __pyx_t_3) < 0) __PYX_ERR(28, 43, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":45
 * CBS_OPERATION_RESULT_INSTANCE_CLOSED = c_cbs.CBS_OPERATION_RESULT_TAG.CBS_OPERATION_RESULT_INSTANCE_CLOSED
 * 
 * CBS_OPEN_COMPLETE_OK = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_OK             # <<<<<<<<<<<<<<
 * CBS_OPEN_COMPLETE_ERROR = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR
 * CBS_OPEN_COMPLETE_CANCELLED = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_CANCELLED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(CBS_OPEN_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPEN_COMPLETE_OK, __pyx_t_3) < 0) __PYX_ERR(28, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":46
 * 
 * CBS_OPEN_COMPLETE_OK = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_OK
 * CBS_OPEN_COMPLETE_ERROR = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR             # <<<<<<<<<<<<<<
 * CBS_OPEN_COMPLETE_CANCELLED = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_CANCELLED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(CBS_OPEN_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPEN_COMPLETE_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 46, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":47
 * CBS_OPEN_COMPLETE_OK = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_OK
 * CBS_OPEN_COMPLETE_ERROR = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_ERROR
 * CBS_OPEN_COMPLETE_CANCELLED = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_CANCELLED             # <<<<<<<<<<<<<<
 * 
 * MESSAGE_RECEIVER_STATE_IDLE = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_IDLE
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(CBS_OPEN_CANCELLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CBS_OPEN_COMPLETE_CANCELLED, __pyx_t_3) < 0) __PYX_ERR(28, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":49
 * CBS_OPEN_COMPLETE_CANCELLED = c_cbs.CBS_OPEN_COMPLETE_RESULT_TAG.CBS_OPEN_CANCELLED
 * 
 * MESSAGE_RECEIVER_STATE_IDLE = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_IDLE             # <<<<<<<<<<<<<<
 * MESSAGE_RECEIVER_STATE_OPENING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPENING
 * MESSAGE_RECEIVER_STATE_OPEN = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPEN
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(MESSAGE_RECEIVER_STATE_IDLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_RECEIVER_STATE_IDLE, __pyx_t_3) < 0) __PYX_ERR(28, 49, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":50
 * 
 * MESSAGE_RECEIVER_STATE_IDLE = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_IDLE
 * MESSAGE_RECEIVER_STATE_OPENING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPENING             # <<<<<<<<<<<<<<
 * MESSAGE_RECEIVER_STATE_OPEN = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPEN
 * MESSAGE_RECEIVER_STATE_CLOSING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_CLOSING
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(MESSAGE_RECEIVER_STATE_OPENING); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_RECEIVER_STATE_OPENING, __pyx_t_3) < 0) __PYX_ERR(28, 50, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":51
 * MESSAGE_RECEIVER_STATE_IDLE = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_IDLE
 * MESSAGE_RECEIVER_STATE_OPENING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPENING
 * MESSAGE_RECEIVER_STATE_OPEN = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPEN             # <<<<<<<<<<<<<<
 * MESSAGE_RECEIVER_STATE_CLOSING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_CLOSING
 * MESSAGE_RECEIVER_STATE_ERROR = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_ERROR
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(MESSAGE_RECEIVER_STATE_OPEN); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_RECEIVER_STATE_OPEN, __pyx_t_3) < 0) __PYX_ERR(28, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":52
 * MESSAGE_RECEIVER_STATE_OPENING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPENING
 * MESSAGE_RECEIVER_STATE_OPEN = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPEN
 * MESSAGE_RECEIVER_STATE_CLOSING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_CLOSING             # <<<<<<<<<<<<<<
 * MESSAGE_RECEIVER_STATE_ERROR = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_ERROR
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(MESSAGE_RECEIVER_STATE_CLOSING); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_RECEIVER_STATE_CLOSING, __pyx_t_3) < 0) __PYX_ERR(28, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":53
 * MESSAGE_RECEIVER_STATE_OPEN = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_OPEN
 * MESSAGE_RECEIVER_STATE_CLOSING = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_CLOSING
 * MESSAGE_RECEIVER_STATE_ERROR = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_ERROR             # <<<<<<<<<<<<<<
 * 
 * MESSAGE_SEND_OK = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(MESSAGE_RECEIVER_STATE_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_RECEIVER_STATE_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 53, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":55
 * MESSAGE_RECEIVER_STATE_ERROR = c_message_receiver.MESSAGE_RECEIVER_STATE_TAG.MESSAGE_RECEIVER_STATE_ERROR
 * 
 * MESSAGE_SEND_OK = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_OK             # <<<<<<<<<<<<<<
 * MESSAGE_SEND_ERROR = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_ERROR
 * MESSAGE_SEND_TIMEOUT = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_TIMEOUT
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(MESSAGE_SEND_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SEND_OK, __pyx_t_3) < 0) __PYX_ERR(28, 55, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":56
 * 
 * MESSAGE_SEND_OK = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_OK
 * MESSAGE_SEND_ERROR = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_ERROR             # <<<<<<<<<<<<<<
 * MESSAGE_SEND_TIMEOUT = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_TIMEOUT
 * MESSAGE_SEND_CANCELLED = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_CANCELLED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(MESSAGE_SEND_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SEND_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":57
 * MESSAGE_SEND_OK = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_OK
 * MESSAGE_SEND_ERROR = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_ERROR
 * MESSAGE_SEND_TIMEOUT = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_TIMEOUT             # <<<<<<<<<<<<<<
 * MESSAGE_SEND_CANCELLED = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_CANCELLED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(MESSAGE_SEND_TIMEOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SEND_TIMEOUT, __pyx_t_3) < 0) __PYX_ERR(28, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":58
 * MESSAGE_SEND_ERROR = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_ERROR
 * MESSAGE_SEND_TIMEOUT = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_TIMEOUT
 * MESSAGE_SEND_CANCELLED = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_CANCELLED             # <<<<<<<<<<<<<<
 * 
 * MESSAGE_SENDER_STATE_IDLE = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_IDLE
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(MESSAGE_SEND_CANCELLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SEND_CANCELLED, __pyx_t_3) < 0) __PYX_ERR(28, 58, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":60
 * MESSAGE_SEND_CANCELLED = c_message_sender.MESSAGE_SEND_RESULT_TAG.MESSAGE_SEND_CANCELLED
 * 
 * MESSAGE_SENDER_STATE_IDLE = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_IDLE             # <<<<<<<<<<<<<<
 * MESSAGE_SENDER_STATE_OPENING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPENING
 * MESSAGE_SENDER_STATE_OPEN = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPEN
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(MESSAGE_SENDER_STATE_IDLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SENDER_STATE_IDLE, __pyx_t_3) < 0) __PYX_ERR(28, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":61
 * 
 * MESSAGE_SENDER_STATE_IDLE = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_IDLE
 * MESSAGE_SENDER_STATE_OPENING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPENING             # <<<<<<<<<<<<<<
 * MESSAGE_SENDER_STATE_OPEN = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPEN
 * MESSAGE_SENDER_STATE_CLOSING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_CLOSING
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(MESSAGE_SENDER_STATE_OPENING); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SENDER_STATE_OPENING, __pyx_t_3) < 0) __PYX_ERR(28, 61, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":62
 * MESSAGE_SENDER_STATE_IDLE = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_IDLE
 * MESSAGE_SENDER_STATE_OPENING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPENING
 * MESSAGE_SENDER_STATE_OPEN = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPEN             # <<<<<<<<<<<<<<
 * MESSAGE_SENDER_STATE_CLOSING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_CLOSING
 * MESSAGE_SENDER_STATE_ERROR = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_ERROR
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(MESSAGE_SENDER_STATE_OPEN); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SENDER_STATE_OPEN, __pyx_t_3) < 0) __PYX_ERR(28, 62, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":63
 * MESSAGE_SENDER_STATE_OPENING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPENING
 * MESSAGE_SENDER_STATE_OPEN = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPEN
 * MESSAGE_SENDER_STATE_CLOSING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_CLOSING             # <<<<<<<<<<<<<<
 * MESSAGE_SENDER_STATE_ERROR = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_ERROR
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(MESSAGE_SENDER_STATE_CLOSING); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SENDER_STATE_CLOSING, __pyx_t_3) < 0) __PYX_ERR(28, 63, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":64
 * MESSAGE_SENDER_STATE_OPEN = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_OPEN
 * MESSAGE_SENDER_STATE_CLOSING = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_CLOSING
 * MESSAGE_SENDER_STATE_ERROR = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_ERROR             # <<<<<<<<<<<<<<
 * 
 * IO_SEND_RESULT_OK = c_xio.IO_SEND_RESULT_TAG.IO_SEND_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(MESSAGE_SENDER_STATE_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_SENDER_STATE_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":66
 * MESSAGE_SENDER_STATE_ERROR = c_message_sender.MESSAGE_SENDER_STATE_TAG.MESSAGE_SENDER_STATE_ERROR
 * 
 * IO_SEND_RESULT_OK = c_xio.IO_SEND_RESULT_TAG.IO_SEND_OK             # <<<<<<<<<<<<<<
 * IO_SEND_RESULT_ERROR = c_xio.IO_SEND_RESULT_TAG.IO_SEND_ERROR
 * IO_SEND_RESULT_CANCELLED = c_xio.IO_SEND_RESULT_TAG.IO_SEND_CANCELLED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_SEND_RESULT_TAG(IO_SEND_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_SEND_RESULT_OK, __pyx_t_3) < 0) __PYX_ERR(28, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":67
 * 
 * IO_SEND_RESULT_OK = c_xio.IO_SEND_RESULT_TAG.IO_SEND_OK
 * IO_SEND_RESULT_ERROR = c_xio.IO_SEND_RESULT_TAG.IO_SEND_ERROR             # <<<<<<<<<<<<<<
 * IO_SEND_RESULT_CANCELLED = c_xio.IO_SEND_RESULT_TAG.IO_SEND_CANCELLED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_SEND_RESULT_TAG(IO_SEND_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_SEND_RESULT_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":68
 * IO_SEND_RESULT_OK = c_xio.IO_SEND_RESULT_TAG.IO_SEND_OK
 * IO_SEND_RESULT_ERROR = c_xio.IO_SEND_RESULT_TAG.IO_SEND_ERROR
 * IO_SEND_RESULT_CANCELLED = c_xio.IO_SEND_RESULT_TAG.IO_SEND_CANCELLED             # <<<<<<<<<<<<<<
 * 
 * IO_OPEN_RESULT_OK = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_SEND_RESULT_TAG(IO_SEND_CANCELLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_SEND_RESULT_CANCELLED, __pyx_t_3) < 0) __PYX_ERR(28, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":70
 * IO_SEND_RESULT_CANCELLED = c_xio.IO_SEND_RESULT_TAG.IO_SEND_CANCELLED
 * 
 * IO_OPEN_RESULT_OK = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_OK             # <<<<<<<<<<<<<<
 * IO_OPEN_RESULT_ERROR = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_ERROR
 * IO_OPEN_RESULT_CANCELLED = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_CANCELLED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_OPEN_RESULT_TAG(IO_OPEN_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_OPEN_RESULT_OK, __pyx_t_3) < 0) __PYX_ERR(28, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":71
 * 
 * IO_OPEN_RESULT_OK = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_OK
 * IO_OPEN_RESULT_ERROR = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_ERROR             # <<<<<<<<<<<<<<
 * IO_OPEN_RESULT_CANCELLED = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_CANCELLED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_OPEN_RESULT_TAG(IO_OPEN_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_OPEN_RESULT_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 71, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":72
 * IO_OPEN_RESULT_OK = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_OK
 * IO_OPEN_RESULT_ERROR = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_ERROR
 * IO_OPEN_RESULT_CANCELLED = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_CANCELLED             # <<<<<<<<<<<<<<
 * 
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_OK = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__IO_OPEN_RESULT_TAG(IO_OPEN_CANCELLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO_OPEN_RESULT_CANCELLED, __pyx_t_3) < 0) __PYX_ERR(28, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":74
 * IO_OPEN_RESULT_CANCELLED = c_xio.IO_OPEN_RESULT_TAG.IO_OPEN_CANCELLED
 * 
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_OK = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_OK             # <<<<<<<<<<<<<<
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(AMQP_MANAGEMENT_EXECUTE_OPERATION_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO, __pyx_t_3) < 0) __PYX_ERR(28, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":75
 * 
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_OK = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_OK
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR             # <<<<<<<<<<<<<<
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_2, __pyx_t_3) < 0) __PYX_ERR(28, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":76
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_OK = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_OK
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS             # <<<<<<<<<<<<<<
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_3, __pyx_t_3) < 0) __PYX_ERR(28, 76, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":77
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_ERROR
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_FAILED_BAD_STATUS
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED             # <<<<<<<<<<<<<<
 * 
 * AMQP_MANAGEMENT_OPEN_OK = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_EXECUTE_OPERATIO_4, __pyx_t_3) < 0) __PYX_ERR(28, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":79
 * AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED = c_amqp_management.AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG.AMQP_MANAGEMENT_EXECUTE_OPERATION_INSTANCE_CLOSED
 * 
 * AMQP_MANAGEMENT_OPEN_OK = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_OK             # <<<<<<<<<<<<<<
 * AMQP_MANAGEMENT_OPEN_ERROR = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_ERROR
 * AMQP_MANAGEMENT_OPEN_CANCELLED = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_CANCELLED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(AMQP_MANAGEMENT_OPEN_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_OPEN_OK, __pyx_t_3) < 0) __PYX_ERR(28, 79, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":80
 * 
 * AMQP_MANAGEMENT_OPEN_OK = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_OK
 * AMQP_MANAGEMENT_OPEN_ERROR = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_ERROR             # <<<<<<<<<<<<<<
 * AMQP_MANAGEMENT_OPEN_CANCELLED = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_CANCELLED
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(AMQP_MANAGEMENT_OPEN_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_OPEN_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 80, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":81
 * AMQP_MANAGEMENT_OPEN_OK = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_OK
 * AMQP_MANAGEMENT_OPEN_ERROR = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_ERROR
 * AMQP_MANAGEMENT_OPEN_CANCELLED = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_CANCELLED             # <<<<<<<<<<<<<<
 * 
 * AUTH_STATUS_OK = c_cbs.AUTH_STATUS.AUTH_STATUS_OK
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(AMQP_MANAGEMENT_OPEN_CANCELLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_MANAGEMENT_OPEN_CANCELLED, __pyx_t_3) < 0) __PYX_ERR(28, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":83
 * AMQP_MANAGEMENT_OPEN_CANCELLED = c_amqp_management.AMQP_MANAGEMENT_OPEN_RESULT_TAG.AMQP_MANAGEMENT_OPEN_CANCELLED
 * 
 * AUTH_STATUS_OK = c_cbs.AUTH_STATUS.AUTH_STATUS_OK             # <<<<<<<<<<<<<<
 * AUTH_STATUS_IDLE = c_cbs.AUTH_STATUS.AUTH_STATUS_IDLE
 * AUTH_STATUS_IN_PROGRESS = c_cbs.AUTH_STATUS.AUTH_STATUS_IN_PROGRESS
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_OK); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_OK, __pyx_t_3) < 0) __PYX_ERR(28, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":84
 * 
 * AUTH_STATUS_OK = c_cbs.AUTH_STATUS.AUTH_STATUS_OK
 * AUTH_STATUS_IDLE = c_cbs.AUTH_STATUS.AUTH_STATUS_IDLE             # <<<<<<<<<<<<<<
 * AUTH_STATUS_IN_PROGRESS = c_cbs.AUTH_STATUS.AUTH_STATUS_IN_PROGRESS
 * AUTH_STATUS_TIMEOUT = c_cbs.AUTH_STATUS.AUTH_STATUS_TIMEOUT
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_IDLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_IDLE, __pyx_t_3) < 0) __PYX_ERR(28, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":85
 * AUTH_STATUS_OK = c_cbs.AUTH_STATUS.AUTH_STATUS_OK
 * AUTH_STATUS_IDLE = c_cbs.AUTH_STATUS.AUTH_STATUS_IDLE
 * AUTH_STATUS_IN_PROGRESS = c_cbs.AUTH_STATUS.AUTH_STATUS_IN_PROGRESS             # <<<<<<<<<<<<<<
 * AUTH_STATUS_TIMEOUT = c_cbs.AUTH_STATUS.AUTH_STATUS_TIMEOUT
 * AUTH_STATUS_REFRESH_REQUIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_REFRESH_REQUIRED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_IN_PROGRESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_IN_PROGRESS, __pyx_t_3) < 0) __PYX_ERR(28, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":86
 * AUTH_STATUS_IDLE = c_cbs.AUTH_STATUS.AUTH_STATUS_IDLE
 * AUTH_STATUS_IN_PROGRESS = c_cbs.AUTH_STATUS.AUTH_STATUS_IN_PROGRESS
 * AUTH_STATUS_TIMEOUT = c_cbs.AUTH_STATUS.AUTH_STATUS_TIMEOUT             # <<<<<<<<<<<<<<
 * AUTH_STATUS_REFRESH_REQUIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_REFRESH_REQUIRED
 * AUTH_STATUS_EXPIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_EXPIRED
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_TIMEOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_TIMEOUT, __pyx_t_3) < 0) __PYX_ERR(28, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":87
 * AUTH_STATUS_IN_PROGRESS = c_cbs.AUTH_STATUS.AUTH_STATUS_IN_PROGRESS
 * AUTH_STATUS_TIMEOUT = c_cbs.AUTH_STATUS.AUTH_STATUS_TIMEOUT
 * AUTH_STATUS_REFRESH_REQUIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_REFRESH_REQUIRED             # <<<<<<<<<<<<<<
 * AUTH_STATUS_EXPIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_EXPIRED
 * AUTH_STATUS_ERROR = c_cbs.AUTH_STATUS.AUTH_STATUS_ERROR
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_REFRESH_REQUIRED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_REFRESH_REQUIRED, __pyx_t_3) < 0) __PYX_ERR(28, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":88
 * AUTH_STATUS_TIMEOUT = c_cbs.AUTH_STATUS.AUTH_STATUS_TIMEOUT
 * AUTH_STATUS_REFRESH_REQUIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_REFRESH_REQUIRED
 * AUTH_STATUS_EXPIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_EXPIRED             # <<<<<<<<<<<<<<
 * AUTH_STATUS_ERROR = c_cbs.AUTH_STATUS.AUTH_STATUS_ERROR
 * AUTH_STATUS_FAILURE = c_cbs.AUTH_STATUS.AUTH_STATUS_FAILURE
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_EXPIRED); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_EXPIRED, __pyx_t_3) < 0) __PYX_ERR(28, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":89
 * AUTH_STATUS_REFRESH_REQUIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_REFRESH_REQUIRED
 * AUTH_STATUS_EXPIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_EXPIRED
 * AUTH_STATUS_ERROR = c_cbs.AUTH_STATUS.AUTH_STATUS_ERROR             # <<<<<<<<<<<<<<
 * AUTH_STATUS_FAILURE = c_cbs.AUTH_STATUS.AUTH_STATUS_FAILURE
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_ERROR, __pyx_t_3) < 0) __PYX_ERR(28, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":90
 * AUTH_STATUS_EXPIRED = c_cbs.AUTH_STATUS.AUTH_STATUS_EXPIRED
 * AUTH_STATUS_ERROR = c_cbs.AUTH_STATUS.AUTH_STATUS_ERROR
 * AUTH_STATUS_FAILURE = c_cbs.AUTH_STATUS.AUTH_STATUS_FAILURE             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(__pyx_e_5c_cbs_AUTH_STATUS_FAILURE); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AUTH_STATUS_FAILURE, __pyx_t_3) < 0) __PYX_ERR(28, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/constants.pyx":95
 * #### Errors
 * 
 * SESSION_ERROR_WINDOW_VIOLATION = "amqp:session:window-violation"             # <<<<<<<<<<<<<<
 * SESSION_ERROR_ERRANT_LINK = "amqp:session:errant-link"
 * SESSION_ERROR_HANDLE_IN_USE = "amqp:session:handle-in-use"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SESSION_ERROR_WINDOW_VIOLATION, __pyx_kp_s_amqp_session_window_violation) < 0) __PYX_ERR(28, 95, __pyx_L1_error)

  /* "src/constants.pyx":96
 * 
 * SESSION_ERROR_WINDOW_VIOLATION = "amqp:session:window-violation"
 * SESSION_ERROR_ERRANT_LINK = "amqp:session:errant-link"             # <<<<<<<<<<<<<<
 * SESSION_ERROR_HANDLE_IN_USE = "amqp:session:handle-in-use"
 * SESSION_ERROR_UNATTACHED_HANDLE = "amqp:session:unattached-handle"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SESSION_ERROR_ERRANT_LINK, __pyx_kp_s_amqp_session_errant_link) < 0) __PYX_ERR(28, 96, __pyx_L1_error)

  /* "src/constants.pyx":97
 * SESSION_ERROR_WINDOW_VIOLATION = "amqp:session:window-violation"
 * SESSION_ERROR_ERRANT_LINK = "amqp:session:errant-link"
 * SESSION_ERROR_HANDLE_IN_USE = "amqp:session:handle-in-use"             # <<<<<<<<<<<<<<
 * SESSION_ERROR_UNATTACHED_HANDLE = "amqp:session:unattached-handle"
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SESSION_ERROR_HANDLE_IN_USE, __pyx_kp_s_amqp_session_handle_in_use) < 0) __PYX_ERR(28, 97, __pyx_L1_error)

  /* "src/constants.pyx":98
 * SESSION_ERROR_ERRANT_LINK = "amqp:session:errant-link"
 * SESSION_ERROR_HANDLE_IN_USE = "amqp:session:handle-in-use"
 * SESSION_ERROR_UNATTACHED_HANDLE = "amqp:session:unattached-handle"             # <<<<<<<<<<<<<<
 * 
 * LINK_ERROR_DETACH_FORCED = "amqp:link:detach-forced"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SESSION_ERROR_UNATTACHED_HANDLE, __pyx_kp_s_amqp_session_unattached_handle) < 0) __PYX_ERR(28, 98, __pyx_L1_error)

  /* "src/constants.pyx":100
 * SESSION_ERROR_UNATTACHED_HANDLE = "amqp:session:unattached-handle"
 * 
 * LINK_ERROR_DETACH_FORCED = "amqp:link:detach-forced"             # <<<<<<<<<<<<<<
 * LINK_ERROR_TRANSFER_LIMIT_EXCEEDED = "amqp:link:transfer-limit-exceeded"
 * LINK_ERROR_MESSAGE_SIZE_EXCEEDED = "amqp:link:message-size-exceeded"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ERROR_DETACH_FORCED, __pyx_kp_s_amqp_link_detach_forced) < 0) __PYX_ERR(28, 100, __pyx_L1_error)

  /* "src/constants.pyx":101
 * 
 * LINK_ERROR_DETACH_FORCED = "amqp:link:detach-forced"
 * LINK_ERROR_TRANSFER_LIMIT_EXCEEDED = "amqp:link:transfer-limit-exceeded"             # <<<<<<<<<<<<<<
 * LINK_ERROR_MESSAGE_SIZE_EXCEEDED = "amqp:link:message-size-exceeded"
 * LINK_ERROR_REDIRECT = "amqp:link:redirect"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ERROR_TRANSFER_LIMIT_EXCEED, __pyx_kp_s_amqp_link_transfer_limit_exceede) < 0) __PYX_ERR(28, 101, __pyx_L1_error)

  /* "src/constants.pyx":102
 * LINK_ERROR_DETACH_FORCED = "amqp:link:detach-forced"
 * LINK_ERROR_TRANSFER_LIMIT_EXCEEDED = "amqp:link:transfer-limit-exceeded"
 * LINK_ERROR_MESSAGE_SIZE_EXCEEDED = "amqp:link:message-size-exceeded"             # <<<<<<<<<<<<<<
 * LINK_ERROR_REDIRECT = "amqp:link:redirect"
 * LINK_ERROR_STOLEN = "amqp:link:stolen"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ERROR_MESSAGE_SIZE_EXCEEDED, __pyx_kp_s_amqp_link_message_size_exceeded) < 0) __PYX_ERR(28, 102, __pyx_L1_error)

  /* "src/constants.pyx":103
 * LINK_ERROR_TRANSFER_LIMIT_EXCEEDED = "amqp:link:transfer-limit-exceeded"
 * LINK_ERROR_MESSAGE_SIZE_EXCEEDED = "amqp:link:message-size-exceeded"
 * LINK_ERROR_REDIRECT = "amqp:link:redirect"             # <<<<<<<<<<<<<<
 * LINK_ERROR_STOLEN = "amqp:link:stolen"
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ERROR_REDIRECT, __pyx_kp_s_amqp_link_redirect) < 0) __PYX_ERR(28, 103, __pyx_L1_error)

  /* "src/constants.pyx":104
 * LINK_ERROR_MESSAGE_SIZE_EXCEEDED = "amqp:link:message-size-exceeded"
 * LINK_ERROR_REDIRECT = "amqp:link:redirect"
 * LINK_ERROR_STOLEN = "amqp:link:stolen"             # <<<<<<<<<<<<<<
 * 
 * CONNECTION_ERROR_CONNECTION_FORCED = "amqp:connection:forced"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ERROR_STOLEN, __pyx_kp_s_amqp_link_stolen) < 0) __PYX_ERR(28, 104, __pyx_L1_error)

  /* "src/constants.pyx":106
 * LINK_ERROR_STOLEN = "amqp:link:stolen"
 * 
 * CONNECTION_ERROR_CONNECTION_FORCED = "amqp:connection:forced"             # <<<<<<<<<<<<<<
 * CONNECTION_ERROR_FRAMING_ERROR = "amqp:connection:framing-error"
 * CONNECTION_ERROR_REDIRECT = "amqp:connection:redirect"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CONNECTION_ERROR_CONNECTION_FORC, __pyx_kp_s_amqp_connection_forced) < 0) __PYX_ERR(28, 106, __pyx_L1_error)

  /* "src/constants.pyx":107
 * 
 * CONNECTION_ERROR_CONNECTION_FORCED = "amqp:connection:forced"
 * CONNECTION_ERROR_FRAMING_ERROR = "amqp:connection:framing-error"             # <<<<<<<<<<<<<<
 * CONNECTION_ERROR_REDIRECT = "amqp:connection:redirect"
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CONNECTION_ERROR_FRAMING_ERROR, __pyx_kp_s_amqp_connection_framing_error) < 0) __PYX_ERR(28, 107, __pyx_L1_error)

  /* "src/constants.pyx":108
 * CONNECTION_ERROR_CONNECTION_FORCED = "amqp:connection:forced"
 * CONNECTION_ERROR_FRAMING_ERROR = "amqp:connection:framing-error"
 * CONNECTION_ERROR_REDIRECT = "amqp:connection:redirect"             # <<<<<<<<<<<<<<
 * 
 * AMQP_ERROR_INTERNAL_ERROR = "amqp:internal-error"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CONNECTION_ERROR_REDIRECT, __pyx_kp_s_amqp_connection_redirect) < 0) __PYX_ERR(28, 108, __pyx_L1_error)

  /* "src/constants.pyx":110
 * CONNECTION_ERROR_REDIRECT = "amqp:connection:redirect"
 * 
 * AMQP_ERROR_INTERNAL_ERROR = "amqp:internal-error"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_NOT_FOUND = "amqp:not-found"
 * AMQP_ERROR_UNAUTHORIZED_ACCESS = "amqp:unauthorized-access"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_INTERNAL_ERROR, __pyx_kp_s_amqp_internal_error) < 0) __PYX_ERR(28, 110, __pyx_L1_error)

  /* "src/constants.pyx":111
 * 
 * AMQP_ERROR_INTERNAL_ERROR = "amqp:internal-error"
 * AMQP_ERROR_NOT_FOUND = "amqp:not-found"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_UNAUTHORIZED_ACCESS = "amqp:unauthorized-access"
 * AMQP_ERROR_DECODE_ERROR = "amqp:decode-error"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_NOT_FOUND, __pyx_kp_s_amqp_not_found) < 0) __PYX_ERR(28, 111, __pyx_L1_error)

  /* "src/constants.pyx":112
 * AMQP_ERROR_INTERNAL_ERROR = "amqp:internal-error"
 * AMQP_ERROR_NOT_FOUND = "amqp:not-found"
 * AMQP_ERROR_UNAUTHORIZED_ACCESS = "amqp:unauthorized-access"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_DECODE_ERROR = "amqp:decode-error"
 * AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED = "amqp:resource-limit-exceeded"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_UNAUTHORIZED_ACCESS, __pyx_kp_s_amqp_unauthorized_access) < 0) __PYX_ERR(28, 112, __pyx_L1_error)

  /* "src/constants.pyx":113
 * AMQP_ERROR_NOT_FOUND = "amqp:not-found"
 * AMQP_ERROR_UNAUTHORIZED_ACCESS = "amqp:unauthorized-access"
 * AMQP_ERROR_DECODE_ERROR = "amqp:decode-error"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED = "amqp:resource-limit-exceeded"
 * AMQP_ERROR_NOT_ALLOWED = "amqp:not-allowed"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_DECODE_ERROR, __pyx_kp_s_amqp_decode_error) < 0) __PYX_ERR(28, 113, __pyx_L1_error)

  /* "src/constants.pyx":114
 * AMQP_ERROR_UNAUTHORIZED_ACCESS = "amqp:unauthorized-access"
 * AMQP_ERROR_DECODE_ERROR = "amqp:decode-error"
 * AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED = "amqp:resource-limit-exceeded"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_NOT_ALLOWED = "amqp:not-allowed"
 * AMQP_ERROR_INVALID_FIELD = "amqp:invalid-field"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_RESOURCE_LIMIT_EXCEED, __pyx_kp_s_amqp_resource_limit_exceeded) < 0) __PYX_ERR(28, 114, __pyx_L1_error)

  /* "src/constants.pyx":115
 * AMQP_ERROR_DECODE_ERROR = "amqp:decode-error"
 * AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED = "amqp:resource-limit-exceeded"
 * AMQP_ERROR_NOT_ALLOWED = "amqp:not-allowed"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_INVALID_FIELD = "amqp:invalid-field"
 * AMQP_ERROR_NOT_IMPLEMENTED = "amqp:not-implemented"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_NOT_ALLOWED, __pyx_kp_s_amqp_not_allowed) < 0) __PYX_ERR(28, 115, __pyx_L1_error)

  /* "src/constants.pyx":116
 * AMQP_ERROR_RESOURCE_LIMIT_EXCEEDED = "amqp:resource-limit-exceeded"
 * AMQP_ERROR_NOT_ALLOWED = "amqp:not-allowed"
 * AMQP_ERROR_INVALID_FIELD = "amqp:invalid-field"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_NOT_IMPLEMENTED = "amqp:not-implemented"
 * AMQP_ERROR_RESOURCE_LOCKED = "amqp:resource-locked"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_INVALID_FIELD, __pyx_kp_s_amqp_invalid_field) < 0) __PYX_ERR(28, 116, __pyx_L1_error)

  /* "src/constants.pyx":117
 * AMQP_ERROR_NOT_ALLOWED = "amqp:not-allowed"
 * AMQP_ERROR_INVALID_FIELD = "amqp:invalid-field"
 * AMQP_ERROR_NOT_IMPLEMENTED = "amqp:not-implemented"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_RESOURCE_LOCKED = "amqp:resource-locked"
 * AMQP_ERROR_PRECONDITION_FAILED = "amqp:precondition-failed"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_NOT_IMPLEMENTED, __pyx_kp_s_amqp_not_implemented) < 0) __PYX_ERR(28, 117, __pyx_L1_error)

  /* "src/constants.pyx":118
 * AMQP_ERROR_INVALID_FIELD = "amqp:invalid-field"
 * AMQP_ERROR_NOT_IMPLEMENTED = "amqp:not-implemented"
 * AMQP_ERROR_RESOURCE_LOCKED = "amqp:resource-locked"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_PRECONDITION_FAILED = "amqp:precondition-failed"
 * AMQP_ERROR_RESOURCE_DELETED = "amqp:resource-deleted"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_RESOURCE_LOCKED, __pyx_kp_s_amqp_resource_locked) < 0) __PYX_ERR(28, 118, __pyx_L1_error)

  /* "src/constants.pyx":119
 * AMQP_ERROR_NOT_IMPLEMENTED = "amqp:not-implemented"
 * AMQP_ERROR_RESOURCE_LOCKED = "amqp:resource-locked"
 * AMQP_ERROR_PRECONDITION_FAILED = "amqp:precondition-failed"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_RESOURCE_DELETED = "amqp:resource-deleted"
 * AMQP_ERROR_ILLEGAL_STATE = "amqp:illegal-state"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_PRECONDITION_FAILED, __pyx_kp_s_amqp_precondition_failed) < 0) __PYX_ERR(28, 119, __pyx_L1_error)

  /* "src/constants.pyx":120
 * AMQP_ERROR_RESOURCE_LOCKED = "amqp:resource-locked"
 * AMQP_ERROR_PRECONDITION_FAILED = "amqp:precondition-failed"
 * AMQP_ERROR_RESOURCE_DELETED = "amqp:resource-deleted"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_ILLEGAL_STATE = "amqp:illegal-state"
 * AMQP_ERROR_FRAME_SIZE_TOO_SMALL = "amqp:frame-size-too-small"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_RESOURCE_DELETED, __pyx_kp_s_amqp_resource_deleted) < 0) __PYX_ERR(28, 120, __pyx_L1_error)

  /* "src/constants.pyx":121
 * AMQP_ERROR_PRECONDITION_FAILED = "amqp:precondition-failed"
 * AMQP_ERROR_RESOURCE_DELETED = "amqp:resource-deleted"
 * AMQP_ERROR_ILLEGAL_STATE = "amqp:illegal-state"             # <<<<<<<<<<<<<<
 * AMQP_ERROR_FRAME_SIZE_TOO_SMALL = "amqp:frame-size-too-small"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_ILLEGAL_STATE, __pyx_kp_s_amqp_illegal_state) < 0) __PYX_ERR(28, 121, __pyx_L1_error)

  /* "src/constants.pyx":122
 * AMQP_ERROR_RESOURCE_DELETED = "amqp:resource-deleted"
 * AMQP_ERROR_ILLEGAL_STATE = "amqp:illegal-state"
 * AMQP_ERROR_FRAME_SIZE_TOO_SMALL = "amqp:frame-size-too-small"             # <<<<<<<<<<<<<<
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMQP_ERROR_FRAME_SIZE_TOO_SMALL, __pyx_kp_s_amqp_frame_size_too_small) < 0) __PYX_ERR(28, 122, __pyx_L1_error)

  /* "src/error.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(12, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/error.pyx":9
 * # Python imports
 * import logging
 * import copy             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_3) < 0) __PYX_ERR(12, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/error.pyx":16
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(12, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(12, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(12, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(13, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/header.pyx":17
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(13, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/link.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(14, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/link.pyx":19
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/message.pyx":8
 * 
 * # Python imports
 * from enum import Enum             # <<<<<<<<<<<<<<
 * import logging
 * 
 */
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Enum);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_3) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/message.pyx":9
 * # Python imports
 * from enum import Enum
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/message.pyx":19
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message.pyx":22
 * 
 * 
 * class MessageBodyType(Enum):             # <<<<<<<<<<<<<<
 *     NoneType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_MessageBodyType, __pyx_n_s_MessageBodyType, (PyObject *) NULL, __pyx_n_s_uamqp_c_uamqp, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "src/message.pyx":23
 * 
 * class MessageBodyType(Enum):
 *     NoneType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE             # <<<<<<<<<<<<<<
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA
 *     SequenceType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_SEQUENCE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(MESSAGE_BODY_TYPE_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_NoneType, __pyx_t_4) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/message.pyx":24
 * class MessageBodyType(Enum):
 *     NoneType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA             # <<<<<<<<<<<<<<
 *     SequenceType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_SEQUENCE
 *     ValueType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(MESSAGE_BODY_TYPE_DATA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_DataType, __pyx_t_4) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/message.pyx":25
 *     NoneType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA
 *     SequenceType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_SEQUENCE             # <<<<<<<<<<<<<<
 *     ValueType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(MESSAGE_BODY_TYPE_SEQUENCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_SequenceType, __pyx_t_4) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/message.pyx":26
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA
 *     SequenceType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_SEQUENCE
 *     ValueType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_VALUE             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(MESSAGE_BODY_TYPE_VALUE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_ValueType, __pyx_t_4) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/message.pyx":22
 * 
 * 
 * class MessageBodyType(Enum):             # <<<<<<<<<<<<<<
 *     NoneType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_NONE
 *     DataType = c_message.MESSAGE_BODY_TYPE_TAG.MESSAGE_BODY_TYPE_DATA
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_MessageBodyType, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MessageBodyType, __pyx_t_4) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/message.pyx":305
 * 
 *     @staticmethod
 *     def create_source(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_source(address)
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_1create_source, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_create_source, __pyx_t_2) < 0) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":304
 * cdef class Messaging(object):
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def create_source(const char* address):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_create_source); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_create_source, __pyx_t_1) < 0) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":313
 * 
 *     @staticmethod
 *     def create_target(const char* address):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_create_target(address)
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_3create_target, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_create_target, __pyx_t_1) < 0) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":312
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def create_target(const char* address):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_create_target); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_create_target, __pyx_t_2) < 0) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":321
 * 
 *     @staticmethod
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_received(section_number, section_offset)
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_5delivery_received, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_received, __pyx_t_2) < 0) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":320
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def delivery_received(stdint.uint32_t section_number, stdint.uint64_t section_offset):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_delivery_received); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_received, __pyx_t_1) < 0) __PYX_ERR(0, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":329
 * 
 *     @staticmethod
 *     def delivery_accepted():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_accepted()
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_7delivery_accepted, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_accepted, __pyx_t_1) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":328
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def delivery_accepted():
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_delivery_accepted); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_accepted, __pyx_t_2) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":337
 * 
 *     @staticmethod
 *     def delivery_rejected(const char* error_condition, const char* error_description, cFields error_info=None):             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_9delivery_rejected, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_rejected, __pyx_t_2) < 0) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":336
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def delivery_rejected(const char* error_condition, const char* error_description, cFields error_info=None):
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_delivery_rejected); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_rejected, __pyx_t_1) < 0) __PYX_ERR(0, 337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":351
 * 
 *     @staticmethod
 *     def delivery_released():             # <<<<<<<<<<<<<<
 *         cdef c_amqpvalue.AMQP_VALUE _value
 *         _value = c_message.messaging_delivery_released()
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_11delivery_released, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_released, __pyx_t_1) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":350
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def delivery_released():
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_delivery_released); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_released, __pyx_t_2) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":359
 * 
 *     @staticmethod
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):             # <<<<<<<<<<<<<<
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 *         cdef c_amqpvalue.AMQP_VALUE _value
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_9Messaging_13delivery_modified, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_modified, __pyx_t_2) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message.pyx":358
 *         return value_factory(_value)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def delivery_modified(bint delivery_failed, bint undeliverable_here, cFields message_annotations):
 *         _logger.debug("delivery modified: %r %r", delivery_failed, undeliverable_here)
 */
  __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging, __pyx_n_s_delivery_modified); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_Messaging->tp_dict, __pyx_n_s_delivery_modified, __pyx_t_1) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_Messaging);

  /* "src/message_receiver.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(7, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/message_receiver.pyx":18
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(7, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/message_sender.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(15, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/message_sender.pyx":9
 * # Python imports
 * import logging
 * import copy             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_3) < 0) __PYX_ERR(15, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/message_sender.pyx":21
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(15, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(15, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/platform.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(16, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/platform.pyx":17
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(16, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(17, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/properties.pyx":17
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(17, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/sasl.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(18, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/sasl.pyx":15
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(18, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/session.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(19, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/session.pyx":18
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(19, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/session.pyx":29
 * cdef class cSession(StructBase):
 * 
 *     _links = []             # <<<<<<<<<<<<<<
 *     cdef c_session.SESSION_HANDLE _c_value
 *     cdef Connection _connection
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_5uamqp_7c_uamqp_cSession->tp_dict, __pyx_n_s_links, __pyx_t_1) < 0) __PYX_ERR(19, 29, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_5uamqp_7c_uamqp_cSession);

  /* "src/source.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(20, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":9
 * # Python imports
 * import logging
 * import copy             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_1) < 0) __PYX_ERR(20, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/source.pyx":16
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(20, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/target.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * import copy
 * 
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_3) < 0) __PYX_ERR(21, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/target.pyx":9
 * # Python imports
 * import logging
 * import copy             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_3) < 0) __PYX_ERR(21, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/target.pyx":16
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(21, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/tlsio.pyx":12
 * 
 * 
 * DEFAULT_PORT = 5671             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_PORT, __pyx_int_5671) < 0) __PYX_ERR(22, 12, __pyx_L1_error)

  /* "src/wsio.pyx":12
 * 
 * 
 * DEFAULT_WS_PORT = 443             # <<<<<<<<<<<<<<
 * cdef const char* DEFAULT_WS_PROTOCOL_NAME = "AMQPWSB10"
 * cdef const char* DEFAULT_WS_RELATIVE_PATH = "/$servicebus/websocket/"
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_WS_PORT, __pyx_int_443) < 0) __PYX_ERR(23, 12, __pyx_L1_error)

  /* "src/wsio.pyx":13
 * 
 * DEFAULT_WS_PORT = 443
 * cdef const char* DEFAULT_WS_PROTOCOL_NAME = "AMQPWSB10"             # <<<<<<<<<<<<<<
 * cdef const char* DEFAULT_WS_RELATIVE_PATH = "/$servicebus/websocket/"
 * 
 */
  __pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_PROTOCOL_NAME = ((char const *)"AMQPWSB10");

  /* "src/wsio.pyx":14
 * DEFAULT_WS_PORT = 443
 * cdef const char* DEFAULT_WS_PROTOCOL_NAME = "AMQPWSB10"
 * cdef const char* DEFAULT_WS_RELATIVE_PATH = "/$servicebus/websocket/"             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_5uamqp_7c_uamqp_DEFAULT_WS_RELATIVE_PATH = ((char const *)"/$servicebus/websocket/");

  /* "src/xio.pyx":8
 * 
 * # Python imports
 * import logging             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(24, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xio.pyx":16
 * 
 * 
 * _logger = logging.getLogger(__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_1) < 0) __PYX_ERR(24, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xlogging.pyx":8
 * 
 * # Python imports
 * from enum import Enum             # <<<<<<<<<<<<<<
 * import logging
 * import io
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Enum);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Enum, __pyx_t_1) < 0) __PYX_ERR(25, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xlogging.pyx":9
 * # Python imports
 * from enum import Enum
 * import logging             # <<<<<<<<<<<<<<
 * import io
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(25, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xlogging.pyx":10
 * from enum import Enum
 * import logging
 * import io             # <<<<<<<<<<<<<<
 * 
 * # C imports
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_io, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_io, __pyx_t_2) < 0) __PYX_ERR(25, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xlogging.pyx":17
 * 
 * 
 * _logger = logging.getLogger('uamqp.c_uamqp')             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__311, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(25, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/xlogging.pyx":20
 * 
 * 
 * class LogCategory(Enum):             # <<<<<<<<<<<<<<
 *     Error = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_ERROR
 *     Info = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_INFO
 */
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_LogCategory, __pyx_n_s_LogCategory, (PyObject *) NULL, __pyx_n_s_uamqp_c_uamqp, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "src/xlogging.pyx":21
 * 
 * class LogCategory(Enum):
 *     Error = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_ERROR             # <<<<<<<<<<<<<<
 *     Info = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_INFO
 *     Debug = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_TRACE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(AZ_LOG_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Error_2, __pyx_t_4) < 0) __PYX_ERR(25, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/xlogging.pyx":22
 * class LogCategory(Enum):
 *     Error = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_ERROR
 *     Info = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_INFO             # <<<<<<<<<<<<<<
 *     Debug = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_TRACE
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(AZ_LOG_INFO); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Info, __pyx_t_4) < 0) __PYX_ERR(25, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/xlogging.pyx":23
 *     Error = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_ERROR
 *     Info = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_INFO
 *     Debug = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_TRACE             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(AZ_LOG_TRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Debug, __pyx_t_4) < 0) __PYX_ERR(25, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/xlogging.pyx":20
 * 
 * 
 * class LogCategory(Enum):             # <<<<<<<<<<<<<<
 *     Error = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_ERROR
 *     Info = c_xlogging.LOG_CATEGORY_TAG.AZ_LOG_INFO
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_LogCategory, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LogCategory, __pyx_t_4) < 0) __PYX_ERR(25, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/xlogging.pyx":66
 * 
 * 
 * def _python_log(category, text, end, text_bldr=[], file=None, func=None, line=None):             # <<<<<<<<<<<<<<
 *     text_bldr.append(text)
 *     if not end:
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_k__295 = __pyx_t_1;
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_125_python_log, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_python_log, __pyx_t_1) < 0) __PYX_ERR(25, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_StructBase(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_127__pyx_unpickle_StructBase, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_StructBase, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":9
 *         __pyx_unpickle_StructBase__set_state(<StructBase> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_StructBase__set_state(StructBase __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5uamqp_7c_uamqp_129__pyx_unpickle_Messaging, NULL, __pyx_n_s_uamqp_c_uamqp); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Messaging, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "uamqp/c_uamqp.pyx":1
 * include "src/amqp_definitions.pyx"             # <<<<<<<<<<<<<<
 * include "src/amqp_management.pyx"
 * include "src/amqp_string.pyx"
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(26, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init uamqp.c_uamqp", 0, __pyx_lineno, __pyx_filename);
    }
    Py_DECREF(__pyx_m); __pyx_m = 0;
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init uamqp.c_uamqp");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #elif PY_MAJOR_VERSION >= 3
  return __pyx_m;
  #else
  return;
  #endif
}

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule((char *)modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = func->ob_type->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
}
#endif

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    __Pyx_PyThreadState_declare
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
#if CYTHON_COMPILING_IN_PYPY
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#else
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (exact) {
        #if PY_MAJOR_VERSION == 2
        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
        #endif
    }
    else {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL
#include "frameobject.h"
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = f->f_localsplus;
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
        return NULL;
    }
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = PyCFunction_GET_FUNCTION(func);
    self = PyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallNoArg */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || __Pyx_TypeCheck(func, __pyx_CyFunctionType))) {
#else
    if (likely(PyCFunction_Check(func))) {
#endif
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif

/* RaiseArgTupleInvalid */
  static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* RaiseDoubleKeywords */
  static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
  static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

/* KeywordStringCheck */
  static int __Pyx_CheckKeywordStrings(
    PyObject *kwdict,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    while (PyDict_Next(kwdict, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if ((!kw_allowed) && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* GetModuleGlobalName */
  static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
    PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
    if (likely(result)) {
        Py_INCREF(result);
    } else if (unlikely(PyErr_Occurred())) {
        result = NULL;
    } else {
#else
    result = PyDict_GetItem(__pyx_d, name);
    if (likely(result)) {
        Py_INCREF(result);
    } else {
#endif
#else
    result = PyObject_GetItem(__pyx_d, name);
    if (!result) {
        PyErr_Clear();
#endif
        result = __Pyx_GetBuiltinName(name);
    }
    return result;
}

/* WriteUnraisableException */
      static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
                                  int full_traceback, CYTHON_UNUSED int nogil) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_PyThreadState_declare
#ifdef WITH_THREAD
    PyGILState_STATE state;
    if (nogil)
        state = PyGILState_Ensure();
#ifdef _MSC_VER
    else state = (PyGILState_STATE)-1;
#endif
#endif
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
    if (full_traceback) {
        Py_XINCREF(old_exc);
        Py_XINCREF(old_val);
        Py_XINCREF(old_tb);
        __Pyx_ErrRestore(old_exc, old_val, old_tb);
        PyErr_PrintEx(1);
    }
    #if PY_MAJOR_VERSION < 3
    ctx = PyString_FromString(name);
    #else
    ctx = PyUnicode_FromString(name);
    #endif
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
#ifdef WITH_THREAD
    if (nogil)
        PyGILState_Release(state);
#endif
}

/* PyCFunctionFastCall */
      #if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
    PyObject *self = PyCFunction_GET_SELF(func);
    int flags = PyCFunction_GET_FLAGS(func);
    assert(PyCFunction_Check(func));
    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS)));
    assert(nargs >= 0);
    assert(nargs == 0 || args != NULL);
    /* _PyCFunction_FastCallDict() must not be called with an exception set,
       because it may clear it (directly or indirectly) and so the
       caller loses its exception */
    assert(!PyErr_Occurred());
    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
        return (*((__Pyx_PyCFunctionFastWithKeywords)meth)) (self, args, nargs, NULL);
    } else {
        return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs);
    }
}
#endif

/* PyObjectCallOneArg */
      #if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_New(1);
    if (unlikely(!args)) return NULL;
    Py_INCREF(arg);
    PyTuple_SET_ITEM(args, 0, arg);
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, &arg, 1);
    }
#endif
    if (likely(PyCFunction_Check(func))) {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
            return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
        } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
        }
    }
    return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_Pack(1, arg);
    if (unlikely(!args)) return NULL;
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
#endif

/* decode_c_string */
      static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    Py_ssize_t length;
    if (unlikely((start < 0) | (stop < 0))) {
        size_t slen = strlen(cstring);
        if (unlikely(slen > (size_t) PY_SSIZE_T_MAX)) {
            PyErr_SetString(PyExc_OverflowError,
                            "c-string too long to convert to Python");
            return NULL;
        }
        length = (Py_ssize_t) slen;
        if (start < 0) {
            start += length;
            if (start < 0)
                start = 0;
        }
        if (stop < 0)
            stop += length;
    }
    length = stop - start;
    if (unlikely(length <= 0))
        return PyUnicode_FromUnicode(NULL, 0);
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* SaveResetException */
      #if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    #if PY_VERSION_HEX >= 0x030700A3
    *type = tstate->exc_state.exc_type;
    *value = tstate->exc_state.exc_value;
    *tb = tstate->exc_state.exc_traceback;
    #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    #endif
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if PY_VERSION_HEX >= 0x030700A3
    tmp_type = tstate->exc_state.exc_type;
    tmp_value = tstate->exc_state.exc_value;
    tmp_tb = tstate->exc_state.exc_traceback;
    tstate->exc_state.exc_type = type;
    tstate->exc_state.exc_value = value;
    tstate->exc_state.exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}
#endif

/* PyErrExceptionMatches */
      #if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    PyObject *exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
    if (unlikely(PyTuple_Check(err)))
        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
}
#endif

/* GetException */
      #if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
#endif
    PyObject *local_type, *local_value, *local_tb;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    #if PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if PY_VERSION_HEX >= 0x030700A3
    tmp_type = tstate->exc_state.exc_type;
    tmp_value = tstate->exc_state.exc_value;
    tmp_tb = tstate->exc_state.exc_traceback;
    tstate->exc_state.exc_type = local_type;
    tstate->exc_state.exc_value = local_value;
    tstate->exc_state.exc_traceback = local_tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* SwapException */
        #if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if PY_VERSION_HEX >= 0x030700A3
    tmp_type = tstate->exc_state.exc_type;
    tmp_value = tstate->exc_state.exc_value;
    tmp_tb = tstate->exc_state.exc_traceback;
    tstate->exc_state.exc_type = *type;
    tstate->exc_state.exc_value = *value;
    tstate->exc_state.exc_traceback = *tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
    #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* PyObjectCallMethod1 */
        static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = NULL;
#if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(method))) {
        PyObject *self = PyMethod_GET_SELF(method);
        if (likely(self)) {
            PyObject *args;
            PyObject *function = PyMethod_GET_FUNCTION(method);
            #if CYTHON_FAST_PYCALL
            if (PyFunction_Check(function)) {
                PyObject *args[2] = {self, arg};
                result = __Pyx_PyFunction_FastCall(function, args, 2);
                goto done;
            }
            #endif
            #if CYTHON_FAST_PYCCALL
            if (__Pyx_PyFastCFunction_Check(function)) {
                PyObject *args[2] = {self, arg};
                result = __Pyx_PyCFunction_FastCall(function, args, 2);
                goto done;
            }
            #endif
            args = PyTuple_New(2);
            if (unlikely(!args)) goto done;
            Py_INCREF(self);
            PyTuple_SET_ITEM(args, 0, self);
            Py_INCREF(arg);
            PyTuple_SET_ITEM(args, 1, arg);
            Py_INCREF(function);
            result = __Pyx_PyObject_Call(function, args, NULL);
            Py_DECREF(args);
            Py_DECREF(function);
            return result;
        }
    }
#endif
    result = __Pyx_PyObject_CallOneArg(method, arg);
    goto done;
done:
    return result;
}
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
    PyObject *method, *result;
    method = __Pyx_PyObject_GetAttrStr(obj, method_name);
    if (unlikely(!method)) return NULL;
    result = __Pyx__PyObject_CallMethod1(method, arg);
    Py_DECREF(method);
    return result;
}

/* append */
        static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
    if (likely(PyList_CheckExact(L))) {
        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
    } else {
        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
        if (unlikely(!retval))
            return -1;
        Py_DECREF(retval);
    }
    return 0;
}

/* BytesEquals */
        static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals */
        static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
    return PyObject_RichCompareBool(s1, s2, equals);
#else
#if PY_MAJOR_VERSION < 3
    PyObject* owned_ref = NULL;
#endif
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
#if PY_MAJOR_VERSION < 3
    if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
        owned_ref = PyUnicode_FromObject(s2);
        if (unlikely(!owned_ref))
            return -1;
        s2 = owned_ref;
        s2_is_unicode = 1;
    } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
        owned_ref = PyUnicode_FromObject(s1);
        if (unlikely(!owned_ref))
            return -1;
        s1 = owned_ref;
        s1_is_unicode = 1;
    } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
        return __Pyx_PyBytes_Equals(s1, s2, equals);
    }
#endif
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length;
        int kind;
        void *data1, *data2;
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
        #if CYTHON_PEP393_ENABLED
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
        #else
            hash1 = ((PyUnicodeObject*)s1)->hash;
            hash2 = ((PyUnicodeObject*)s2)->hash;
        #endif
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            #if PY_MAJOR_VERSION < 3
            Py_XDECREF(owned_ref);
            #endif
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        #if PY_MAJOR_VERSION < 3
        Py_XDECREF(owned_ref);
        #endif
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_EQ);
return_ne:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_NE);
#endif
}

/* GetItemInt */
        static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!j) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely((0 <= wrapped_i) & (wrapped_i < PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely((0 <= wrapped_i) & (wrapped_i < PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* ObjectGetItem */
        #if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
    PyObject *runerr;
    Py_ssize_t key_value;
    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
    if (unlikely(!(m && m->sq_item))) {
        PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
        return NULL;
    }
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
    PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
    if (likely(m && m->mp_subscript)) {
        return m->mp_subscript(obj, key);
    }
    return __Pyx_PyObject_GetIndex(obj, key);
}
#endif

/* RaiseTooManyValuesToUnpack */
        static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* RaiseNeedMoreValuesToUnpack */
        static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* IterFinish */
        static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_FAST_THREAD_STATE
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject* exc_type = tstate->curexc_type;
    if (unlikely(exc_type)) {
        if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
            PyObject *exc_value, *exc_tb;
            exc_value = tstate->curexc_value;
            exc_tb = tstate->curexc_traceback;
            tstate->curexc_type = 0;
            tstate->curexc_value = 0;
            tstate->curexc_traceback = 0;
            Py_DECREF(exc_type);
            Py_XDECREF(exc_value);
            Py_XDECREF(exc_tb);
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#else
    if (unlikely(PyErr_Occurred())) {
        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
            PyErr_Clear();
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#endif
}

/* UnpackItemEndCheck */
        static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    } else {
        return __Pyx_IterFinish();
    }
    return 0;
}

/* ExtTypeTest */
        static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(__Pyx_TypeCheck(obj, type)))
        return 1;
    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
                 Py_TYPE(obj)->tp_name, type->tp_name);
    return 0;
}

/* GetAttr */
        static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* GetAttr3 */
        static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r = __Pyx_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
}

/* pyobject_as_double */
        static double __Pyx__PyObject_AsDouble(PyObject* obj) {
    PyObject* float_value;
#if !CYTHON_USE_TYPE_SLOTS
    float_value = PyNumber_Float(obj);  if (0) goto bad;
#else
    PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number;
    if (likely(nb) && likely(nb->nb_float)) {
        float_value = nb->nb_float(obj);
        if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) {
            PyErr_Format(PyExc_TypeError,
                "__float__ returned non-float (type %.200s)",
                Py_TYPE(float_value)->tp_name);
            Py_DECREF(float_value);
            goto bad;
        }
    } else if (PyUnicode_CheckExact(obj) || PyBytes_CheckExact(obj)) {
#if PY_MAJOR_VERSION >= 3
        float_value = PyFloat_FromString(obj);
#else
        float_value = PyFloat_FromString(obj, 0);
#endif
    } else {
        PyObject* args = PyTuple_New(1);
        if (unlikely(!args)) goto bad;
        PyTuple_SET_ITEM(args, 0, obj);
        float_value = PyObject_Call((PyObject*)&PyFloat_Type, args, 0);
        PyTuple_SET_ITEM(args, 0, 0);
        Py_DECREF(args);
    }
#endif
    if (likely(float_value)) {
        double value = PyFloat_AS_DOUBLE(float_value);
        Py_DECREF(float_value);
        return value;
    }
bad:
    return (double)-1;
}

/* HasAttr */
        static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_GetAttr(o, n);
    if (unlikely(!r)) {
        PyErr_Clear();
        return 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}

/* pop_index */
        static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix) {
    PyObject *r;
    if (unlikely(!py_ix)) return NULL;
    r = __Pyx__PyObject_PopIndex(L, py_ix);
    Py_DECREF(py_ix);
    return r;
}
static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix) {
    return __Pyx_PyObject_CallMethod1(L, __pyx_n_s_pop, py_ix);
}
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix) {
    Py_ssize_t size = PyList_GET_SIZE(L);
    if (likely(size > (((PyListObject*)L)->allocated >> 1))) {
        Py_ssize_t cix = ix;
        if (cix < 0) {
            cix += size;
        }
        if (likely(0 <= cix && cix < size)) {
            PyObject* v = PyList_GET_ITEM(L, cix);
            Py_SIZE(L) -= 1;
            size -= 1;
            memmove(&PyList_GET_ITEM(L, cix), &PyList_GET_ITEM(L, cix+1), (size_t)(size-cix)*sizeof(PyObject*));
            return v;
        }
    }
    if (py_ix == Py_None) {
        return __Pyx__PyObject_PopNewIndex(L, PyInt_FromSsize_t(ix));
    } else {
        return __Pyx__PyObject_PopIndex(L, py_ix);
    }
}
#endif

/* Import */
        static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.')) {
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                if (!module) {
                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_MAJOR_VERSION < 3
            PyObject *py_level = PyInt_FromLong(level);
            if (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
bad:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* ImportFrom */
        static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* CallNextTpTraverse */
        static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_traverse != current_tp_traverse)
        type = type->tp_base;
    while (type && type->tp_traverse == current_tp_traverse)
        type = type->tp_base;
    if (type && type->tp_traverse)
        return type->tp_traverse(obj, v, a);
    return 0;
}

/* CallNextTpClear */
        static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_clear != current_tp_clear)
        type = type->tp_base;
    while (type && type->tp_clear == current_tp_clear)
        type = type->tp_base;
    if (type && type->tp_clear)
        type->tp_clear(obj);
}

/* PyObject_GenericGetAttrNoDict */
        #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, attr_name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(attr_name));
#endif
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
    PyObject *descr;
    PyTypeObject *tp = Py_TYPE(obj);
    if (unlikely(!PyString_Check(attr_name))) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    assert(!tp->tp_dictoffset);
    descr = _PyType_Lookup(tp, attr_name);
    if (unlikely(!descr)) {
        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
    }
    Py_INCREF(descr);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
    #endif
    {
        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
        if (unlikely(f)) {
            PyObject *res = f(descr, obj, (PyObject *)tp);
            Py_DECREF(descr);
            return res;
        }
    }
    return descr;
}
#endif

/* PyObject_GenericGetAttr */
        #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
}
#endif

/* SetupReduce */
        static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);
  if (likely(name_attr)) {
      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
  } else {
      ret = -1;
  }
  if (unlikely(ret < 0)) {
      PyErr_Clear();
      ret = 0;
  }
  Py_XDECREF(name_attr);
  return ret;
}
static int __Pyx_setup_reduce(PyObject* type_obj) {
    int ret = 0;
    PyObject *object_reduce = NULL;
    PyObject *object_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD;
#else
    if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD;
#endif
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD;
            ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD;
            ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD;
            setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD;
                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD;
                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD;
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto GOOD;
BAD:
    if (!PyErr_Occurred())
        PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
    ret = -1;
GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}

/* SetVTable */
        static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
#else
    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
#endif
    if (!ob)
        goto bad;
    if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

/* CalculateMetaclass */
        static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* Py3ClassCreate */
        static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                           PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
    PyObject *ns;
    if (metaclass) {
        PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs = PyTuple_Pack(2, name, bases);
            if (unlikely(!pargs)) {
                Py_DECREF(prep);
                return NULL;
            }
            ns = PyObject_Call(prep, pargs, mkw);
            Py_DECREF(prep);
            Py_DECREF(pargs);
        } else {
            if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
                return NULL;
            PyErr_Clear();
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result, *margs;
    PyObject *owned_metaclass = NULL;
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
        if (owned_metaclass) {
            metaclass = owned_metaclass;
        } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
            PyErr_Clear();
        } else {
            return NULL;
        }
    }
    if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
        metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
        Py_XDECREF(owned_metaclass);
        if (unlikely(!metaclass))
            return NULL;
        owned_metaclass = metaclass;
    }
    margs = PyTuple_Pack(3, name, bases, dict);
    if (unlikely(!margs)) {
        result = NULL;
    } else {
        result = PyObject_Call(metaclass, margs, mkw);
        Py_DECREF(margs);
    }
    Py_XDECREF(owned_metaclass);
    return result;
}

/* GetNameInClass */
        static PyObject *__Pyx_GetGlobalNameAfterAttributeLookup(PyObject *name) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    return __Pyx_GetModuleGlobalName(name);
}
static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name) {
    PyObject *result;
    result = __Pyx_PyObject_GetAttrStr(nmspace, name);
    if (!result) {
        result = __Pyx_GetGlobalNameAfterAttributeLookup(name);
    }
    return result;
}

/* CLineInTraceback */
        #ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    if (unlikely(!__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
      use_cline = __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback);
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
    }
    else if (PyObject_Not(use_cline) != 0) {
        c_line = 0;
    }
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
        static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

/* AddTraceback */
        #include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_TYPE_TAG(enum AMQP_TYPE_TAG value) {
    const enum AMQP_TYPE_TAG neg_one = (enum AMQP_TYPE_TAG) -1, const_zero = (enum AMQP_TYPE_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum AMQP_TYPE_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum AMQP_TYPE_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_TYPE_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum AMQP_TYPE_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_TYPE_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum AMQP_TYPE_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntFromPyVerify */
        #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CONNECTION_STATE_TAG(enum CONNECTION_STATE_TAG value) {
    const enum CONNECTION_STATE_TAG neg_one = (enum CONNECTION_STATE_TAG) -1, const_zero = (enum CONNECTION_STATE_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CONNECTION_STATE_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CONNECTION_STATE_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CONNECTION_STATE_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CONNECTION_STATE_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CONNECTION_STATE_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum CONNECTION_STATE_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint8_t(uint8_t value) {
    const uint8_t neg_one = (uint8_t) -1, const_zero = (uint8_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint8_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint8_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint8_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint8_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
    const int neg_one = (int) -1, const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CBS_OPERATION_RESULT_TAG(enum CBS_OPERATION_RESULT_TAG value) {
    const enum CBS_OPERATION_RESULT_TAG neg_one = (enum CBS_OPERATION_RESULT_TAG) -1, const_zero = (enum CBS_OPERATION_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CBS_OPERATION_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum CBS_OPERATION_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CBS_OPEN_COMPLETE_RESULT_TAG(enum CBS_OPEN_COMPLETE_RESULT_TAG value) {
    const enum CBS_OPEN_COMPLETE_RESULT_TAG neg_one = (enum CBS_OPEN_COMPLETE_RESULT_TAG) -1, const_zero = (enum CBS_OPEN_COMPLETE_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum CBS_OPEN_COMPLETE_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_RECEIVER_STATE_TAG(enum MESSAGE_RECEIVER_STATE_TAG value) {
    const enum MESSAGE_RECEIVER_STATE_TAG neg_one = (enum MESSAGE_RECEIVER_STATE_TAG) -1, const_zero = (enum MESSAGE_RECEIVER_STATE_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum MESSAGE_RECEIVER_STATE_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum MESSAGE_RECEIVER_STATE_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_RECEIVER_STATE_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum MESSAGE_RECEIVER_STATE_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_RECEIVER_STATE_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum MESSAGE_RECEIVER_STATE_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_SEND_RESULT_TAG(enum MESSAGE_SEND_RESULT_TAG value) {
    const enum MESSAGE_SEND_RESULT_TAG neg_one = (enum MESSAGE_SEND_RESULT_TAG) -1, const_zero = (enum MESSAGE_SEND_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum MESSAGE_SEND_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum MESSAGE_SEND_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_SEND_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum MESSAGE_SEND_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_SEND_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum MESSAGE_SEND_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_SENDER_STATE_TAG(enum MESSAGE_SENDER_STATE_TAG value) {
    const enum MESSAGE_SENDER_STATE_TAG neg_one = (enum MESSAGE_SENDER_STATE_TAG) -1, const_zero = (enum MESSAGE_SENDER_STATE_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum MESSAGE_SENDER_STATE_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum MESSAGE_SENDER_STATE_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_SENDER_STATE_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum MESSAGE_SENDER_STATE_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_SENDER_STATE_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum MESSAGE_SENDER_STATE_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__IO_SEND_RESULT_TAG(enum IO_SEND_RESULT_TAG value) {
    const enum IO_SEND_RESULT_TAG neg_one = (enum IO_SEND_RESULT_TAG) -1, const_zero = (enum IO_SEND_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum IO_SEND_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum IO_SEND_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum IO_SEND_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum IO_SEND_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum IO_SEND_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum IO_SEND_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__IO_OPEN_RESULT_TAG(enum IO_OPEN_RESULT_TAG value) {
    const enum IO_OPEN_RESULT_TAG neg_one = (enum IO_OPEN_RESULT_TAG) -1, const_zero = (enum IO_OPEN_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum IO_OPEN_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum IO_OPEN_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum IO_OPEN_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum IO_OPEN_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum IO_OPEN_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum IO_OPEN_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG value) {
    const enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG neg_one = (enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) -1, const_zero = (enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum AMQP_MANAGEMENT_EXECUTE_OPERATION_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__AMQP_MANAGEMENT_OPEN_RESULT_TAG(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG value) {
    const enum AMQP_MANAGEMENT_OPEN_RESULT_TAG neg_one = (enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) -1, const_zero = (enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum AMQP_MANAGEMENT_OPEN_RESULT_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_5c_cbs_AUTH_STATUS(enum __pyx_t_5c_cbs_AUTH_STATUS value) {
    const enum __pyx_t_5c_cbs_AUTH_STATUS neg_one = (enum __pyx_t_5c_cbs_AUTH_STATUS) -1, const_zero = (enum __pyx_t_5c_cbs_AUTH_STATUS) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__MESSAGE_BODY_TYPE_TAG(enum MESSAGE_BODY_TYPE_TAG value) {
    const enum MESSAGE_BODY_TYPE_TAG neg_one = (enum MESSAGE_BODY_TYPE_TAG) -1, const_zero = (enum MESSAGE_BODY_TYPE_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum MESSAGE_BODY_TYPE_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum MESSAGE_BODY_TYPE_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_BODY_TYPE_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum MESSAGE_BODY_TYPE_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum MESSAGE_BODY_TYPE_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum MESSAGE_BODY_TYPE_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__LOG_CATEGORY_TAG(enum LOG_CATEGORY_TAG value) {
    const enum LOG_CATEGORY_TAG neg_one = (enum LOG_CATEGORY_TAG) -1, const_zero = (enum LOG_CATEGORY_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum LOG_CATEGORY_TAG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum LOG_CATEGORY_TAG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum LOG_CATEGORY_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum LOG_CATEGORY_TAG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum LOG_CATEGORY_TAG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum LOG_CATEGORY_TAG),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value) {
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned char) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned char) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned char) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint16_t(uint16_t value) {
    const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint16_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint16_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint16_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint16_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) {
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint32_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint32_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint32_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) {
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint64_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint64_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint64_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_char(char value) {
    const char neg_one = (char) -1, const_zero = (char) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(char) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(char) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(char) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(char),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int16_t(int16_t value) {
    const int16_t neg_one = (int16_t) -1, const_zero = (int16_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int16_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int16_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int16_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int16_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int16_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int16_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int32_t(int32_t value) {
    const int32_t neg_one = (int32_t) -1, const_zero = (int32_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int32_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int32_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int32_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int32_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int32_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int32_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) {
    const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int64_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int64_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int64_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint_fast64_t(uint_fast64_t value) {
    const uint_fast64_t neg_one = (uint_fast64_t) -1, const_zero = (uint_fast64_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint_fast64_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint_fast64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint_fast64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint_fast64_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint_fast64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint_fast64_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint_fast32_t(uint_fast32_t value) {
    const uint_fast32_t neg_one = (uint_fast32_t) -1, const_zero = (uint_fast32_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint_fast32_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint_fast32_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint_fast32_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint_fast32_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint_fast32_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint_fast32_t),
                                     little, !is_unsigned);
    }
}

static PyObject* __pyx_convert__to_py_SASL_MECHANISM_HANDLE(SASL_MECHANISM_HANDLE s) {
          PyObject* res;
          PyObject* member;
          res = __Pyx_PyDict_NewPresized(0); if (unlikely(!res)) return NULL;
          return res;
          bad:
          Py_XDECREF(member);
          Py_DECREF(res);
          return NULL;
        }
        /* CIntToPy */
        static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
        static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *x) {
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(unsigned char) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(unsigned char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned char) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned char) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned char, digit, digits[0])
                case 2:
                    if (8 * sizeof(unsigned char) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) >= 2 * PyLong_SHIFT) {
                            return (unsigned char) (((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned char) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) >= 3 * PyLong_SHIFT) {
                            return (unsigned char) (((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned char) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) >= 4 * PyLong_SHIFT) {
                            return (unsigned char) (((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned char) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(unsigned char) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned char) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned char, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned char,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(unsigned char) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned char) (((unsigned char)-1)*(((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(unsigned char) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned char) ((((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned char) (((unsigned char)-1)*(((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned char) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned char) ((((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned char) (((unsigned char)-1)*(((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned char) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned char) ((((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(unsigned char) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            unsigned char val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (unsigned char) -1;
        }
    } else {
        unsigned char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned char) -1;
        val = __Pyx_PyInt_As_unsigned_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned char");
    return (unsigned char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned char");
    return (unsigned char) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *x) {
    const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint16_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint16_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint16_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint16_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) >= 2 * PyLong_SHIFT) {
                            return (uint16_t) (((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) >= 3 * PyLong_SHIFT) {
                            return (uint16_t) (((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) >= 4 * PyLong_SHIFT) {
                            return (uint16_t) (((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint16_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint16_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint16_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint16_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint16_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint16_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint16_t) (((uint16_t)-1)*(((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint16_t) ((((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint16_t) (((uint16_t)-1)*(((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint16_t) ((((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint16_t) (((uint16_t)-1)*(((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint16_t) ((((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint16_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint16_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint16_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint16_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint16_t) -1;
        }
    } else {
        uint16_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint16_t) -1;
        val = __Pyx_PyInt_As_uint16_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint16_t");
    return (uint16_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint16_t");
    return (uint16_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) {
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint32_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint32_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint32_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT) {
                            return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT) {
                            return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT) {
                            return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint32_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint32_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint32_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint32_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint32_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint32_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint32_t) -1;
        }
    } else {
        uint32_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint32_t) -1;
        val = __Pyx_PyInt_As_uint32_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint32_t");
    return (uint32_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint32_t");
    return (uint32_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint64_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint64_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint64_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT) {
                            return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT) {
                            return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT) {
                            return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint64_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint64_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint64_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint64_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint64_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint64_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint64_t) -1;
        }
    } else {
        uint64_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint64_t) -1;
        val = __Pyx_PyInt_As_uint64_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint64_t");
    return (uint64_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint64_t");
    return (uint64_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {
    const char neg_one = (char) -1, const_zero = (char) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(char) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (char) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case  1: __PYX_VERIFY_RETURN_INT(char, digit, digits[0])
                case 2:
                    if (8 * sizeof(char) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) >= 2 * PyLong_SHIFT) {
                            return (char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(char) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) >= 3 * PyLong_SHIFT) {
                            return (char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(char) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) >= 4 * PyLong_SHIFT) {
                            return (char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (char) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(char) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case -1: __PYX_VERIFY_RETURN_INT(char, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(char,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(char) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 2 * PyLong_SHIFT) {
                            return (char) (((char)-1)*(((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(char) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 2 * PyLong_SHIFT) {
                            return (char) ((((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(char) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 3 * PyLong_SHIFT) {
                            return (char) (((char)-1)*(((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(char) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 3 * PyLong_SHIFT) {
                            return (char) ((((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(char) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 4 * PyLong_SHIFT) {
                            return (char) (((char)-1)*(((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(char) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(char) - 1 > 4 * PyLong_SHIFT) {
                            return (char) ((((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(char) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            char val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (char) -1;
        }
    } else {
        char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (char) -1;
        val = __Pyx_PyInt_As_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to char");
    return (char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to char");
    return (char) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE int16_t __Pyx_PyInt_As_int16_t(PyObject *x) {
    const int16_t neg_one = (int16_t) -1, const_zero = (int16_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int16_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int16_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int16_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int16_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int16_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(int16_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) >= 2 * PyLong_SHIFT) {
                            return (int16_t) (((((int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int16_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) >= 3 * PyLong_SHIFT) {
                            return (int16_t) (((((((int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int16_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) >= 4 * PyLong_SHIFT) {
                            return (int16_t) (((((((((int16_t)digits[3]) << PyLong_SHIFT) | (int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int16_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int16_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int16_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int16_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int16_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int16_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int16_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int16_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int16_t) (((int16_t)-1)*(((((int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int16_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int16_t) ((((((int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int16_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int16_t) (((int16_t)-1)*(((((((int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int16_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int16_t) ((((((((int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int16_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int16_t) (((int16_t)-1)*(((((((((int16_t)digits[3]) << PyLong_SHIFT) | (int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int16_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int16_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int16_t) ((((((((((int16_t)digits[3]) << PyLong_SHIFT) | (int16_t)digits[2]) << PyLong_SHIFT) | (int16_t)digits[1]) << PyLong_SHIFT) | (int16_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int16_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int16_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int16_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int16_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int16_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int16_t) -1;
        }
    } else {
        int16_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int16_t) -1;
        val = __Pyx_PyInt_As_int16_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int16_t");
    return (int16_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int16_t");
    return (int16_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE int32_t __Pyx_PyInt_As_int32_t(PyObject *x) {
    const int32_t neg_one = (int32_t) -1, const_zero = (int32_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int32_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int32_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int32_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int32_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int32_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(int32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) >= 2 * PyLong_SHIFT) {
                            return (int32_t) (((((int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) >= 3 * PyLong_SHIFT) {
                            return (int32_t) (((((((int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) >= 4 * PyLong_SHIFT) {
                            return (int32_t) (((((((((int32_t)digits[3]) << PyLong_SHIFT) | (int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int32_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int32_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int32_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int32_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int32_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int32_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int32_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int32_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int32_t) (((int32_t)-1)*(((((int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int32_t) ((((((int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int32_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int32_t) (((int32_t)-1)*(((((((int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int32_t) ((((((((int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int32_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int32_t) (((int32_t)-1)*(((((((((int32_t)digits[3]) << PyLong_SHIFT) | (int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int32_t) ((((((((((int32_t)digits[3]) << PyLong_SHIFT) | (int32_t)digits[2]) << PyLong_SHIFT) | (int32_t)digits[1]) << PyLong_SHIFT) | (int32_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int32_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int32_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int32_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int32_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int32_t) -1;
        }
    } else {
        int32_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int32_t) -1;
        val = __Pyx_PyInt_As_int32_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int32_t");
    return (int32_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int32_t");
    return (int32_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) {
    const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int64_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int64_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int64_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int64_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) >= 2 * PyLong_SHIFT) {
                            return (int64_t) (((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) >= 3 * PyLong_SHIFT) {
                            return (int64_t) (((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) >= 4 * PyLong_SHIFT) {
                            return (int64_t) (((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int64_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int64_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int64_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int64_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int64_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int64_t) (((int64_t)-1)*(((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (int64_t) ((((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int64_t) (((int64_t)-1)*(((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (int64_t) ((((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int64_t) (((int64_t)-1)*(((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (int64_t) ((((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int64_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int64_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int64_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int64_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int64_t) -1;
        }
    } else {
        int64_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int64_t) -1;
        val = __Pyx_PyInt_As_int64_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int64_t");
    return (int64_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int64_t");
    return (int64_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(size_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) {
                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) {
                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) {
                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (size_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(size_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(size_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            size_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (size_t) -1;
        }
    } else {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE enum CBS_OPERATION_RESULT_TAG __Pyx_PyInt_As_enum__CBS_OPERATION_RESULT_TAG(PyObject *x) {
    const enum CBS_OPERATION_RESULT_TAG neg_one = (enum CBS_OPERATION_RESULT_TAG) -1, const_zero = (enum CBS_OPERATION_RESULT_TAG) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum CBS_OPERATION_RESULT_TAG) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CBS_OPERATION_RESULT_TAG) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum CBS_OPERATION_RESULT_TAG) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) >= 2 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((((enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) >= 3 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((((((enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) >= 4 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((((((((enum CBS_OPERATION_RESULT_TAG)digits[3]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CBS_OPERATION_RESULT_TAG) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CBS_OPERATION_RESULT_TAG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CBS_OPERATION_RESULT_TAG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum CBS_OPERATION_RESULT_TAG) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 2 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((enum CBS_OPERATION_RESULT_TAG)-1)*(((((enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 2 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) ((((((enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 3 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((enum CBS_OPERATION_RESULT_TAG)-1)*(((((((enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 3 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) ((((((((enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 4 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) (((enum CBS_OPERATION_RESULT_TAG)-1)*(((((((((enum CBS_OPERATION_RESULT_TAG)digits[3]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum CBS_OPERATION_RESULT_TAG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum CBS_OPERATION_RESULT_TAG) - 1 > 4 * PyLong_SHIFT) {
                            return (enum CBS_OPERATION_RESULT_TAG) ((((((((((enum CBS_OPERATION_RESULT_TAG)digits[3]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[2]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[1]) << PyLong_SHIFT) | (enum CBS_OPERATION_RESULT_TAG)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CBS_OPERATION_RESULT_TAG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum CBS_OPERATION_RESULT_TAG) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CBS_OPERATION_RESULT_TAG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum CBS_OPERATION_RESULT_TAG val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum CBS_OPERATION_RESULT_TAG) -1;
        }
    } else {
        enum CBS_OPERATION_RESULT_TAG val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CBS_OPERATION_RESULT_TAG) -1;
        val = __Pyx_PyInt_As_enum__CBS_OPERATION_RESULT_TAG(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CBS_OPERATION_RESULT_TAG");
    return (enum CBS_OPERATION_RESULT_TAG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CBS_OPERATION_RESULT_TAG");
    return (enum CBS_OPERATION_RESULT_TAG) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(unsigned int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0])
                case 2:
                    if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT) {
                            return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT) {
                            return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT) {
                            return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(unsigned int) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(unsigned int) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            unsigned int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (unsigned int) -1;
        }
    } else {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyInt_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *x) {
    const uint8_t neg_one = (uint8_t) -1, const_zero = (uint8_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint8_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint8_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint8_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint8_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) >= 2 * PyLong_SHIFT) {
                            return (uint8_t) (((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) >= 3 * PyLong_SHIFT) {
                            return (uint8_t) (((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) >= 4 * PyLong_SHIFT) {
                            return (uint8_t) (((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint8_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint8_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint8_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint8_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint8_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint8_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint8_t) ((((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint8_t) ((((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint8_t) ((((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint8_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint8_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint8_t) -1;
        }
    } else {
        uint8_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint8_t) -1;
        val = __Pyx_PyInt_As_uint8_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint8_t");
    return (uint8_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint8_t");
    return (uint8_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE uint_fast32_t __Pyx_PyInt_As_uint_fast32_t(PyObject *x) {
    const uint_fast32_t neg_one = (uint_fast32_t) -1, const_zero = (uint_fast32_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint_fast32_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint_fast32_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint_fast32_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint_fast32_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint_fast32_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint_fast32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) >= 2 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((((uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint_fast32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) >= 3 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((((((uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint_fast32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) >= 4 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((((((((uint_fast32_t)digits[3]) << PyLong_SHIFT) | (uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint_fast32_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint_fast32_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint_fast32_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint_fast32_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint_fast32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint_fast32_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint_fast32_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint_fast32_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint_fast32_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((uint_fast32_t)-1)*(((((uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint_fast32_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint_fast32_t) ((((((uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint_fast32_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((uint_fast32_t)-1)*(((((((uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint_fast32_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint_fast32_t) ((((((((uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint_fast32_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint_fast32_t) (((uint_fast32_t)-1)*(((((((((uint_fast32_t)digits[3]) << PyLong_SHIFT) | (uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint_fast32_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint_fast32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint_fast32_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint_fast32_t) ((((((((((uint_fast32_t)digits[3]) << PyLong_SHIFT) | (uint_fast32_t)digits[2]) << PyLong_SHIFT) | (uint_fast32_t)digits[1]) << PyLong_SHIFT) | (uint_fast32_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint_fast32_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint_fast32_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint_fast32_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint_fast32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint_fast32_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint_fast32_t) -1;
        }
    } else {
        uint_fast32_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint_fast32_t) -1;
        val = __Pyx_PyInt_As_uint_fast32_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint_fast32_t");
    return (uint_fast32_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint_fast32_t");
    return (uint_fast32_t) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
    const int neg_one = (int) -1, const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
    const long neg_one = (long) -1, const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(long) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (long) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(long) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(long) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* CIntFromPy */
        static CYTHON_INLINE enum __pyx_t_5c_cbs_AUTH_STATUS __Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(PyObject *x) {
    const enum __pyx_t_5c_cbs_AUTH_STATUS neg_one = (enum __pyx_t_5c_cbs_AUTH_STATUS) -1, const_zero = (enum __pyx_t_5c_cbs_AUTH_STATUS) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_5c_cbs_AUTH_STATUS) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_5c_cbs_AUTH_STATUS) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum __pyx_t_5c_cbs_AUTH_STATUS) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_5c_cbs_AUTH_STATUS) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((enum __pyx_t_5c_cbs_AUTH_STATUS)-1)*(((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) ((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((enum __pyx_t_5c_cbs_AUTH_STATUS)-1)*(((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) ((((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) (((enum __pyx_t_5c_cbs_AUTH_STATUS)-1)*(((((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_5c_cbs_AUTH_STATUS, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_5c_cbs_AUTH_STATUS) ((((((((((enum __pyx_t_5c_cbs_AUTH_STATUS)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_5c_cbs_AUTH_STATUS)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_5c_cbs_AUTH_STATUS, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_5c_cbs_AUTH_STATUS) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_5c_cbs_AUTH_STATUS, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_5c_cbs_AUTH_STATUS val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_5c_cbs_AUTH_STATUS) -1;
        }
    } else {
        enum __pyx_t_5c_cbs_AUTH_STATUS val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_5c_cbs_AUTH_STATUS) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_5c_cbs_AUTH_STATUS(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_5c_cbs_AUTH_STATUS");
    return (enum __pyx_t_5c_cbs_AUTH_STATUS) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_5c_cbs_AUTH_STATUS");
    return (enum __pyx_t_5c_cbs_AUTH_STATUS) -1;
}

/* FastTypeChecks */
        #if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = a->tp_base;
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
#if PY_MAJOR_VERSION == 2
static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
    PyObject *exception, *value, *tb;
    int res;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&exception, &value, &tb);
    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
    if (unlikely(res == -1)) {
        PyErr_WriteUnraisable(err);
        res = 0;
    }
    if (!res) {
        res = PyObject_IsSubclass(err, exc_type2);
        if (unlikely(res == -1)) {
            PyErr_WriteUnraisable(err);
            res = 0;
        }
    }
    __Pyx_ErrRestore(exception, value, tb);
    return res;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
    if (!res) {
        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
    return res;
}
#endif
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* CheckBinaryVersion */
        static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* ModuleImport */
        #ifndef __PYX_HAVE_RT_ImportModule
#define __PYX_HAVE_RT_ImportModule
static PyObject *__Pyx_ImportModule(const char *name) {
    PyObject *py_name = 0;
    PyObject *py_module = 0;
    py_name = __Pyx_PyIdentifier_FromString(name);
    if (!py_name)
        goto bad;
    py_module = PyImport_Import(py_name);
    Py_DECREF(py_name);
    return py_module;
bad:
    Py_XDECREF(py_name);
    return 0;
}
#endif

/* TypeImport */
        #ifndef __PYX_HAVE_RT_ImportType
#define __PYX_HAVE_RT_ImportType
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
    size_t size, int strict)
{
    PyObject *py_module = 0;
    PyObject *result = 0;
    PyObject *py_name = 0;
    char warning[200];
    Py_ssize_t basicsize;
#ifdef Py_LIMITED_API
    PyObject *py_basicsize;
#endif
    py_module = __Pyx_ImportModule(module_name);
    if (!py_module)
        goto bad;
    py_name = __Pyx_PyIdentifier_FromString(class_name);
    if (!py_name)
        goto bad;
    result = PyObject_GetAttr(py_module, py_name);
    Py_DECREF(py_name);
    py_name = 0;
    Py_DECREF(py_module);
    py_module = 0;
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#ifndef Py_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (!strict && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd",
            module_name, class_name, basicsize, size);
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
    }
    else if ((size_t)basicsize != size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s has the wrong size, try recompiling. Expected %zd, got %zd",
            module_name, class_name, basicsize, size);
        goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(py_module);
    Py_XDECREF(result);
    return NULL;
}
#endif

/* InitStrings */
        static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#if !CYTHON_PEP393_ENABLED
static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    char* defenc_c;
    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
    if (!defenc) return NULL;
    defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    {
        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
        char* c;
        for (c = defenc_c; c < end; c++) {
            if ((unsigned char) (*c) >= 128) {
                PyUnicode_AsASCIIString(o);
                return NULL;
            }
        }
    }
#endif
    *length = PyBytes_GET_SIZE(defenc);
    return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
}
#endif
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type %.200s).  "
                "The ability to return an instance of a strict subclass of int "
                "is deprecated, and may be removed in a future version of Python.",
                Py_TYPE(result)->tp_name)) {
            Py_DECREF(result);
            return NULL;
        }
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type %.200s)",
                 type_name, type_name, Py_TYPE(result)->tp_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
  if (likely(PyLong_Check(x)))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = m->nb_int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = m->nb_long(x);
  }
  #else
  if (likely(m && m->nb_int)) {
    name = "int";
    res = m->nb_int(x);
  }
  #endif
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
    res = PyNumber_Int(x);
  }
#endif
  if (likely(res)) {
#if PY_MAJOR_VERSION < 3
    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
    if (unlikely(!PyLong_CheckExact(res))) {
#endif
        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(x);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


#endif /* Py_PYTHON_H */
