Generated by Cython 3.0.12

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: builder.c

+001: #cython: language_level=3,
  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 002: # Copyright 2014 Google Inc. All rights reserved.
 003: #
 004: # Licensed under the Apache License, Version 2.0 (the "License");
 005: # you may not use this file except in compliance with the License.
 006: # You may obtain a copy of the License at
 007: #
 008: #     http://www.apache.org/licenses/LICENSE-2.0
 009: #
 010: # Unless required by applicable law or agreed to in writing, software
 011: # distributed under the License is distributed on an "AS IS" BASIS,
 012: # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 013: # See the License for the specific language governing permissions and
 014: # limitations under the License.
 015: from libc.string cimport memcmp, memcpy, memset
 016: from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int32_t, int64_t
 017: from cpython.mem cimport PyMem_Malloc, PyMem_Free
 018: 
+019: import struct
  __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_struct, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_struct, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 020: 
 021: from .number_types cimport Flags, enforce_number
 022: 
+023: from flatbuffers import encode
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_encode);
  __Pyx_GIVEREF(__pyx_n_s_encode);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_encode)) __PYX_ERR(0, 23, __pyx_L1_error);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_flatbuffers, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __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_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 024: 
+025: cdef struct FlatbufferType:
struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType {
  uint8_t bytewidth;
};
 026:     uint8_t bytewidth
 027: 
 028: 
+029: cdef struct StoredVtable:
struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable {
  uint32_t num_fields;
  unsigned char *vtable;
  int64_t offset;
  struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *next;
};
 030:     uint32_t num_fields
 031:     unsigned char* vtable
 032:     int64_t offset        # Offset from the end of the file.
 033:     StoredVtable* next
 034: 
 035: 
+036: cdef FlatbufferType Fb_bool_t = FlatbufferType(1)
  __pyx_t_4.bytewidth = 1;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t = __pyx_t_4;
+037: cdef FlatbufferType Fb_uint8_t = FlatbufferType(1)
  __pyx_t_4.bytewidth = 1;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t = __pyx_t_4;
+038: cdef FlatbufferType Fb_uint16_t = FlatbufferType(2)
  __pyx_t_4.bytewidth = 2;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t = __pyx_t_4;
+039: cdef FlatbufferType Fb_uint32_t = FlatbufferType(4)
  __pyx_t_4.bytewidth = 4;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t = __pyx_t_4;
+040: cdef FlatbufferType Fb_uint64_t = FlatbufferType(8)
  __pyx_t_4.bytewidth = 8;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t = __pyx_t_4;
+041: cdef FlatbufferType Fb_int8_t = FlatbufferType(1)
  __pyx_t_4.bytewidth = 1;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t = __pyx_t_4;
+042: cdef FlatbufferType Fb_int16_t = FlatbufferType(2)
  __pyx_t_4.bytewidth = 2;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t = __pyx_t_4;
+043: cdef FlatbufferType Fb_int32_t = FlatbufferType(4)
  __pyx_t_4.bytewidth = 4;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t = __pyx_t_4;
+044: cdef FlatbufferType Fb_int64_t = FlatbufferType(8)
  __pyx_t_4.bytewidth = 8;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t = __pyx_t_4;
+045: cdef FlatbufferType Fb_float32_t = FlatbufferType(4)
  __pyx_t_4.bytewidth = 4;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t = __pyx_t_4;
+046: cdef FlatbufferType Fb_float64_t = FlatbufferType(8)
  __pyx_t_4.bytewidth = 8;
  __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t = __pyx_t_4;
 047: 
 048: 
+049: cdef inline void Write(packer_type, buf, Py_ssize_t head, Py_ssize_t n):
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_Write(PyObject *__pyx_v_packer_type, PyObject *__pyx_v_buf, Py_ssize_t __pyx_v_head, Py_ssize_t __pyx_v_n) {
/* … */
  /* 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_AddTraceback("flattrs.cflattrs.builder.Write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}
 050:     """ Write encodes `n` at buf[head] using `packer_type`. """
+051:     packer_type.pack_into(buf, head, n)
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_packer_type, __pyx_n_s_pack_into); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_head); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (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);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_buf, __pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __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;
 052: 
 053: 
+054: cpdef inline void writeBool(bint n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeBool(int __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_1writeBool = {"writeBool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeBool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, 1); __PYX_ERR(0, 54, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, 2); __PYX_ERR(0, 54, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeBool") < 0)) __PYX_ERR(0, 54, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 54, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_writeBool(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_writeBool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeBool(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __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("flattrs.cflattrs.builder.writeBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__3 = PyTuple_Pack(3, __pyx_n_s_n, __pyx_n_s_buffer, __pyx_n_s_head); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_1writeBool, 0, __pyx_n_s_writeBool, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeBool, __pyx_t_3) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeBool, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 54, __pyx_L1_error)
+055:     buffer[head] = 1 if n else 0
  if (__pyx_v_n) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = 0;
  }
  (__pyx_v_buffer[__pyx_v_head]) = __pyx_t_1;
 056: 
 057: 
+058: cpdef inline void writeUint8(uint8_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(uint8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_3writeUint8 = {"writeUint8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  uint8_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeUint8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, 1); __PYX_ERR(0, 58, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, 2); __PYX_ERR(0, 58, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint8") < 0)) __PYX_ERR(0, 58, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_uint8_t(values[0]); if (unlikely((__pyx_v_n == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 58, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_2writeUint8(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_2writeUint8(CYTHON_UNUSED PyObject *__pyx_self, uint8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_3writeUint8, 0, __pyx_n_s_writeUint8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint8, __pyx_t_3) < 0) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint8, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 58, __pyx_L1_error)
+059:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 060: 
 061: 
+062: cpdef inline void writeUint16(uint16_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(uint16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_5writeUint16 = {"writeUint16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  uint16_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeUint16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, 1); __PYX_ERR(0, 62, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, 2); __PYX_ERR(0, 62, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint16") < 0)) __PYX_ERR(0, 62, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_uint16_t(values[0]); if (unlikely((__pyx_v_n == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 62, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_4writeUint16(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_4writeUint16(CYTHON_UNUSED PyObject *__pyx_self, uint16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_5writeUint16, 0, __pyx_n_s_writeUint16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint16, __pyx_t_3) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint16, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 62, __pyx_L1_error)
+063:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+064:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 065: 
 066: 
+067: cpdef inline void writeUint32(uint32_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(uint32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7writeUint32 = {"writeUint32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  uint32_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeUint32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, 1); __PYX_ERR(0, 67, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, 2); __PYX_ERR(0, 67, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint32") < 0)) __PYX_ERR(0, 67, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_n == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 67, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_6writeUint32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_6writeUint32(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7writeUint32, 0, __pyx_n_s_writeUint32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint32, __pyx_t_3) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint32, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 67, __pyx_L1_error)
+068:     buffer[head+3] = (n >> 24) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);
+069:     buffer[head+2] = (n >> 16) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);
+070:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+071:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 072: 
 073: 
+074: cpdef inline void writeUint64(uint64_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(uint64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_9writeUint64 = {"writeUint64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  uint64_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeUint64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, 1); __PYX_ERR(0, 74, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, 2); __PYX_ERR(0, 74, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint64") < 0)) __PYX_ERR(0, 74, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_n == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 74, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_8writeUint64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_8writeUint64(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __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("flattrs.cflattrs.builder.writeUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_9writeUint64, 0, __pyx_n_s_writeUint64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint64, __pyx_t_3) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint64, 74, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 74, __pyx_L1_error)
+075:     buffer[head+7] = (n >> 56) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 7)]) = ((__pyx_v_n >> 56) & 0xFF);
+076:     buffer[head+6] = (n >> 48) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 6)]) = ((__pyx_v_n >> 48) & 0xFF);
+077:     buffer[head+5] = (n >> 40) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 5)]) = ((__pyx_v_n >> 40) & 0xFF);
+078:     buffer[head+4] = (n >> 32) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 4)]) = ((__pyx_v_n >> 32) & 0xFF);
+079:     buffer[head+3] = (n >> 24) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);
+080:     buffer[head+2] = (n >> 16) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);
+081:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+082:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 083: 
 084: 
+085: cpdef inline void writeInt8(int8_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(int8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_11writeInt8 = {"writeInt8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int8_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeInt8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, 1); __PYX_ERR(0, 85, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, 2); __PYX_ERR(0, 85, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt8") < 0)) __PYX_ERR(0, 85, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_int8_t(values[0]); if (unlikely((__pyx_v_n == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 85, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_10writeInt8(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_10writeInt8(CYTHON_UNUSED PyObject *__pyx_self, int8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __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("flattrs.cflattrs.builder.writeInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_11writeInt8, 0, __pyx_n_s_writeInt8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt8, __pyx_t_3) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt8, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 85, __pyx_L1_error)
+086:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 087: 
 088: 
+089: cpdef inline void writeInt16(int16_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(int16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_13writeInt16 = {"writeInt16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int16_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeInt16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, 1); __PYX_ERR(0, 89, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, 2); __PYX_ERR(0, 89, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt16") < 0)) __PYX_ERR(0, 89, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_int16_t(values[0]); if (unlikely((__pyx_v_n == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 89, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_12writeInt16(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_12writeInt16(CYTHON_UNUSED PyObject *__pyx_self, int16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_13writeInt16, 0, __pyx_n_s_writeInt16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt16, __pyx_t_3) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt16, 89, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 89, __pyx_L1_error)
+090:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+091:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 092: 
 093: 
+094: cpdef inline void writeInt32(int32_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(int32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_15writeInt32 = {"writeInt32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int32_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeInt32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, 1); __PYX_ERR(0, 94, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, 2); __PYX_ERR(0, 94, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt32") < 0)) __PYX_ERR(0, 94, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_int32_t(values[0]); if (unlikely((__pyx_v_n == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 94, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_14writeInt32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_14writeInt32(CYTHON_UNUSED PyObject *__pyx_self, int32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_15writeInt32, 0, __pyx_n_s_writeInt32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt32, __pyx_t_3) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt32, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 94, __pyx_L1_error)
+095:     buffer[head+3] = (n >> 24) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);
+096:     buffer[head+2] = (n >> 16) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);
+097:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+098:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 099: 
 100: 
+101: cpdef inline void writeInt64(int64_t n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(int64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_17writeInt64 = {"writeInt64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int64_t __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeInt64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, 1); __PYX_ERR(0, 101, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, 2); __PYX_ERR(0, 101, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt64") < 0)) __PYX_ERR(0, 101, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_n == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 101, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_16writeInt64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_16writeInt64(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __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("flattrs.cflattrs.builder.writeInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_17writeInt64, 0, __pyx_n_s_writeInt64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt64, __pyx_t_3) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt64, 101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 101, __pyx_L1_error)
+102:     buffer[head+7] = (n >> 56) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 7)]) = ((__pyx_v_n >> 56) & 0xFF);
+103:     buffer[head+6] = (n >> 48) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 6)]) = ((__pyx_v_n >> 48) & 0xFF);
+104:     buffer[head+5] = (n >> 40) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 5)]) = ((__pyx_v_n >> 40) & 0xFF);
+105:     buffer[head+4] = (n >> 32) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 4)]) = ((__pyx_v_n >> 32) & 0xFF);
+106:     buffer[head+3] = (n >> 24) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);
+107:     buffer[head+2] = (n >> 16) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);
+108:     buffer[head+1] = (n >> 8) & 0xFF
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);
+109:     buffer[head] = n & 0xFF
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);
 110: 
 111: 
+112: cdef union double2bytes:
union __pyx_t_7flattrs_8cflattrs_7builder_double2bytes {
  double d;
  unsigned char b[8];
};
 113:     double d
 114:     unsigned char b[8]
 115: 
 116: 
+117: cpdef inline void writeFloat64(double n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(double __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
  union __pyx_t_7flattrs_8cflattrs_7builder_double2bytes __pyx_v_t;
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_19writeFloat64 = {"writeFloat64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  double __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeFloat64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, 1); __PYX_ERR(0, 117, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, 2); __PYX_ERR(0, 117, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeFloat64") < 0)) __PYX_ERR(0, 117, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_n == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 117, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_18writeFloat64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_18writeFloat64(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_19writeFloat64, 0, __pyx_n_s_writeFloat64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeFloat64, __pyx_t_3) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeFloat64, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 117, __pyx_L1_error)
 118:     cdef double2bytes t
+119:     t.d = n
  __pyx_v_t.d = __pyx_v_n;
+120:     buffer[head+7] = t.b[7]
  (__pyx_v_buffer[(__pyx_v_head + 7)]) = (__pyx_v_t.b[7]);
+121:     buffer[head+6] = t.b[6]
  (__pyx_v_buffer[(__pyx_v_head + 6)]) = (__pyx_v_t.b[6]);
+122:     buffer[head+5] = t.b[5]
  (__pyx_v_buffer[(__pyx_v_head + 5)]) = (__pyx_v_t.b[5]);
+123:     buffer[head+4] = t.b[4]
  (__pyx_v_buffer[(__pyx_v_head + 4)]) = (__pyx_v_t.b[4]);
+124:     buffer[head+3] = t.b[3]
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = (__pyx_v_t.b[3]);
+125:     buffer[head+2] = t.b[2]
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = (__pyx_v_t.b[2]);
+126:     buffer[head+1] = t.b[1]
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = (__pyx_v_t.b[1]);
+127:     buffer[head] = t.b[0]
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_t.b[0]);
 128: 
 129: 
+130: cdef union float2bytes:
union __pyx_t_7flattrs_8cflattrs_7builder_float2bytes {
  float f;
  unsigned char b[8];
};
 131:     float f
 132:     unsigned char b[8]
 133: 
 134: 
+135: cpdef inline void writeFloat32(float n, unsigned char* buffer, Py_ssize_t head):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(float __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
  union __pyx_t_7flattrs_8cflattrs_7builder_float2bytes __pyx_v_t;
/* … */
  /* function exit code */
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_21writeFloat32 = {"writeFloat32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  float __pyx_v_n;
  unsigned char *__pyx_v_buffer;
  Py_ssize_t __pyx_v_head;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeFloat32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, 1); __PYX_ERR(0, 135, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, 2); __PYX_ERR(0, 135, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeFloat32") < 0)) __PYX_ERR(0, 135, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_n = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_n == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
    __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
    __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 135, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_20writeFloat32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_20writeFloat32(CYTHON_UNUSED PyObject *__pyx_self, float __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 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("flattrs.cflattrs.builder.writeFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_21writeFloat32, 0, __pyx_n_s_writeFloat32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeFloat32, __pyx_t_3) < 0) __PYX_ERR(0, 135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* … */
  __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeFloat32, 135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 135, __pyx_L1_error)
 136:     cdef float2bytes t
+137:     t.f = n
  __pyx_v_t.f = __pyx_v_n;
+138:     buffer[head+3] = t.b[3]
  (__pyx_v_buffer[(__pyx_v_head + 3)]) = (__pyx_v_t.b[3]);
+139:     buffer[head+2] = t.b[2]
  (__pyx_v_buffer[(__pyx_v_head + 2)]) = (__pyx_v_t.b[2]);
+140:     buffer[head+1] = t.b[1]
  (__pyx_v_buffer[(__pyx_v_head + 1)]) = (__pyx_v_t.b[1]);
+141:     buffer[head] = t.b[0]
  (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_t.b[0]);
 142: 
 143: 
+144: class OffsetArithmeticError(RuntimeError):
  __pyx_tuple__15 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_OffsetArithmeticError, __pyx_n_s_OffsetArithmeticError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_an_Offset_arith); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__16) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__16) < 0))) __PYX_ERR(0, 144, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_OffsetArithmeticError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_OffsetArithmeticError, __pyx_t_6) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__16 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);
 145:     """
 146:     Error caused by an Offset arithmetic error. Probably caused by bad
 147:     writing of fields. This is considered an unreachable situation in
 148:     normal circumstances.
 149:     """
 150:     pass
 151: 
 152: 
+153: class IsNotNestedError(RuntimeError):
  __pyx_tuple__17 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IsNotNestedError, __pyx_n_s_IsNotNestedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__18) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__18) < 0))) __PYX_ERR(0, 153, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IsNotNestedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IsNotNestedError, __pyx_t_6) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__18 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__18);
  __Pyx_GIVEREF(__pyx_tuple__18);
 154:     """
 155:     Error caused by using a Builder to write Object data when not inside
 156:     an Object.
 157:     """
 158:     pass
 159: 
 160: 
+161: class IsNestedError(RuntimeError):
  __pyx_tuple__19 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IsNestedError, __pyx_n_s_IsNestedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__20) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__20) < 0))) __PYX_ERR(0, 161, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IsNestedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IsNestedError, __pyx_t_6) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__20 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__20);
  __Pyx_GIVEREF(__pyx_tuple__20);
 162:     """
 163:     Error caused by using a Builder to begin an Object when an Object is
 164:     already being built.
 165:     """
 166:     pass
 167: 
 168: 
+169: class StructIsNotInlineError(RuntimeError):
  __pyx_tuple__21 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__22); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_StructIsNotInlineError, __pyx_n_s_StructIsNotInlineError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__22) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__22) < 0))) __PYX_ERR(0, 169, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_StructIsNotInlineError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_StructIsNotInlineError, __pyx_t_6) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__22);
  __Pyx_GIVEREF(__pyx_tuple__22);
 170:     """
 171:     Error caused by using a Builder to write a Struct at a location that
 172:     is not the current Offset.
 173:     """
 174:     pass
 175: 
 176: 
+177: class BuilderSizeError(RuntimeError):
  __pyx_tuple__23 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_BuilderSizeError, __pyx_n_s_BuilderSizeError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_causing_a_Build); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__24) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__24) < 0))) __PYX_ERR(0, 177, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_BuilderSizeError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_BuilderSizeError, __pyx_t_6) < 0) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__24 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);
 178:     """
 179:     Error caused by causing a Builder to exceed the hardcoded limit of 2
 180:     gigabytes.
 181:     """
 182:     pass
 183: 
+184: class BuilderNotFinishedError(RuntimeError):
  __pyx_tuple__25 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);
/* … */
  __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__26); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_BuilderNotFinishedError, __pyx_n_s_BuilderNotFinishedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_not_calling_Fin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_3 != __pyx_tuple__26) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__26) < 0))) __PYX_ERR(0, 184, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_BuilderNotFinishedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_BuilderNotFinishedError, __pyx_t_6) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__26);
  __Pyx_GIVEREF(__pyx_tuple__26);
 185:     """
 186:     Error caused by not calling `Finish` before calling `Output`.
 187:     """
 188:     pass
 189: 
 190: 
 191: # VtableMetadataFields is the count of metadata fields in each vtable.
+192: cdef unsigned int VtableMetadataFields = 2
  __pyx_v_7flattrs_8cflattrs_7builder_VtableMetadataFields = 2;
+193: cdef unsigned int MAX_BUFFER_SIZE = 2**31
  __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE = 0x80000000;
 194: 
+195: cdef class Builder(object):
struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder {
  PyObject_HEAD
  struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *__pyx_vtab;
  unsigned char *buffer;
  Py_ssize_t buffer_length;
  Py_ssize_t *current_vtable;
  Py_ssize_t current_vtable_length;
  Py_ssize_t head;
  Py_ssize_t minalign;
  int objectEnd;
  struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *vtables;
  int nested;
  int finished;
  Py_ssize_t vectorNumElems;
};



struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder {
  Py_ssize_t (*WriteVtable)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
  void (*growByteBuffer)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
  Py_ssize_t (*Offset)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
  PyObject *(*Pad)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
  void (*Prep)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, Py_ssize_t);
  void (*PrependSOffsetTRelative)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int);
  void (*PrependUOffsetTRelative)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, int __pyx_skip_dispatch);
  Py_ssize_t (*EndVector)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int __pyx_skip_dispatch);
  Py_ssize_t (*CreateString)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString *__pyx_optional_args);
  Py_ssize_t (*CreateByteVector)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, int __pyx_skip_dispatch);
  void (*assertNested)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
  void (*assertNotNested)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
  void (*assertStructIsInline)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
  void (*Slot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
  Py_ssize_t (*_Builder__Finish)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, int);
  void (*Prepend)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *, int64_t);
  void (*PrependSlot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *, Py_ssize_t, int64_t, int64_t);
  PyObject *(*PrependStructSlot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, PyObject *, PyObject *);
  PyObject *(*PrependInt32)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int32_t, int __pyx_skip_dispatch);
  void (*PrependVOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint16_t);
  void (*Place)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint64_t, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *);
  void (*PlaceVOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint16_t);
  void (*PlaceSOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int32_t);
  void (*PlaceUOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint32_t);
};
static struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *__pyx_vtabptr_7flattrs_8cflattrs_7builder_Builder;
 196:     """ A Builder is used to construct one or more FlatBuffers.
 197: 
 198:     Typically, Builder objects will be used from code generated by the `flatc`
 199:     compiler.
 200: 
 201:     A Builder constructs byte buffers in a last-first manner for simplicity and
 202:     performance during reading.
 203: 
 204:     Internally, a Builder is a state machine for creating FlatBuffer objects.
 205: 
 206:     It holds the following internal state:
 207:         - Bytes: an array of bytes.
 208:         - current_vtable: a list of integers.
 209:         - vtables: a list of vtable entries (i.e. a list of list of integers).
 210: 
 211:     Attributes:
 212:       Bytes: The internal `bytearray` for the Builder.
 213:       finished: A boolean determining if the Builder has been finalized.
 214:     """
 215:     cdef unsigned char* buffer
 216:     cdef Py_ssize_t buffer_length
 217:     cdef Py_ssize_t* current_vtable
 218:     cdef Py_ssize_t current_vtable_length
 219:     cdef Py_ssize_t head
 220:     cdef Py_ssize_t minalign
 221:     cdef int objectEnd
 222:     cdef StoredVtable* vtables
 223:     cdef bint nested
 224:     cdef bint finished
 225:     cdef Py_ssize_t vectorNumElems
 226: 
+227:     def __init__(self, Py_ssize_t initialSize):
/* Python wrapper */
static int __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder___init__, "Initializes a Builder of size `initial_size`.\n\n        The internal buffer is grown as needed.\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_7flattrs_8cflattrs_7builder_7Builder___init__;
#endif
static int __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  Py_ssize_t __pyx_v_initialSize;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_initialSize,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initialSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 227, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v_initialSize = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_initialSize == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 227, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder___init__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_initialSize);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7flattrs_8cflattrs_7builder_7Builder___init__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_initialSize) {
  PyObject *__pyx_v_msg = NULL;
  int __pyx_r;
/* … */
  /* 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("flattrs.cflattrs.builder.Builder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 228:         """Initializes a Builder of size `initial_size`.
 229: 
 230:         The internal buffer is grown as needed.
 231:         """
 232: 
+233:         if not (0 <= initialSize <= MAX_BUFFER_SIZE):
  __pyx_t_1 = (0 <= __pyx_v_initialSize);
  if (__pyx_t_1) {
    __pyx_t_1 = (__pyx_v_initialSize <= __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE);
  }
  __pyx_t_2 = (!__pyx_t_1);
  if (unlikely(__pyx_t_2)) {
/* … */
  }
+234:             msg = "flatbuffers: Cannot create Builder larger than 2 gigabytes."
    __Pyx_INCREF(__pyx_kp_u_flatbuffers_Cannot_create_Builde);
    __pyx_v_msg = __pyx_kp_u_flatbuffers_Cannot_create_Builde;
+235:             raise BuilderSizeError(msg)
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BuilderSizeError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __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, 235, __pyx_L1_error)
+236:         self.buffer = <unsigned char*> PyMem_Malloc(sizeof(unsigned char) * initialSize)
  __pyx_v_self->buffer = ((unsigned char *)PyMem_Malloc(((sizeof(unsigned char)) * __pyx_v_initialSize)));
+237:         if self.buffer is NULL:
  __pyx_t_2 = (__pyx_v_self->buffer == NULL);
  if (unlikely(__pyx_t_2)) {
/* … */
  }
+238:             raise MemoryError()
    PyErr_NoMemory(); __PYX_ERR(0, 238, __pyx_L1_error)
+239:         memset(self.buffer, 0, sizeof(unsigned char) * initialSize)
  (void)(memset(__pyx_v_self->buffer, 0, ((sizeof(unsigned char)) * __pyx_v_initialSize)));
+240:         self.buffer_length = initialSize
  __pyx_v_self->buffer_length = __pyx_v_initialSize;
+241:         self.current_vtable = NULL
  __pyx_v_self->current_vtable = NULL;
+242:         self.current_vtable_length = 0
  __pyx_v_self->current_vtable_length = 0;
+243:         self.head = initialSize
  __pyx_v_self->head = __pyx_v_initialSize;
+244:         self.minalign = 1
  __pyx_v_self->minalign = 1;
+245:         self.objectEnd = -1
  __pyx_v_self->objectEnd = -1;
+246:         self.nested = False
  __pyx_v_self->nested = 0;
+247:         self.finished = False
  __pyx_v_self->finished = 0;
+248:         self.vtables = NULL
  __pyx_v_self->vtables = NULL;
+249:         self.vectorNumElems = 0
  __pyx_v_self->vectorNumElems = 0;
 250: 
+251:     def __dealloc__(self):
/* Python wrapper */
static void __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_2__dealloc__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

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

static void __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_2__dealloc__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *__pyx_v_next;
/* … */
  /* function exit code */
}
+252:         PyMem_Free(self.buffer)
  PyMem_Free(__pyx_v_self->buffer);
+253:         if self.current_vtable != NULL:
  __pyx_t_1 = (__pyx_v_self->current_vtable != NULL);
  if (__pyx_t_1) {
/* … */
  }
+254:             PyMem_Free(self.current_vtable)
    PyMem_Free(__pyx_v_self->current_vtable);
+255:             self.current_vtable = NULL
    __pyx_v_self->current_vtable = NULL;
+256:             self.current_vtable_length = 0
    __pyx_v_self->current_vtable_length = 0;
+257:         while self.vtables is not NULL:
  while (1) {
    __pyx_t_1 = (__pyx_v_self->vtables != NULL);
    if (!__pyx_t_1) break;
+258:             next = self.vtables.next
    __pyx_t_2 = __pyx_v_self->vtables->next;
    __pyx_v_next = __pyx_t_2;
+259:             PyMem_Free(self.vtables.vtable)
    PyMem_Free(__pyx_v_self->vtables->vtable);
+260:             PyMem_Free(self.vtables)
    PyMem_Free(__pyx_v_self->vtables);
+261:             self.vtables = next
    __pyx_v_self->vtables = __pyx_v_next;
  }
 262: 
+263:     def Output(self):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_4Output, "Return the portion of the buffer that has been used for writing data.\n\n        This is the typical way to access the FlatBuffer data inside the\n        builder. If you try to access `Builder.Bytes` directly, you would need\n        to manually index it with `Head()`, since the buffer is constructed\n        backwards.\n\n        It raises BuilderNotFinishedError if the buffer has not been finished\n        with `Finish`.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_5Output = {"Output", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_4Output};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("Output (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("Output", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Output", 0))) return NULL;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_4Output(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

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

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_4Output(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  PyObject *__pyx_v_res = 0;
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__27 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_res); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_5Output, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_Output, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_Output, __pyx_t_3) < 0) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_Output, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 263, __pyx_L1_error)
 264:         """Return the portion of the buffer that has been used for writing data.
 265: 
 266:         This is the typical way to access the FlatBuffer data inside the
 267:         builder. If you try to access `Builder.Bytes` directly, you would need
 268:         to manually index it with `Head()`, since the buffer is constructed
 269:         backwards.
 270: 
 271:         It raises BuilderNotFinishedError if the buffer has not been finished
 272:         with `Finish`.
 273:         """
 274: 
+275:         if not self.finished:
  __pyx_t_1 = (!__pyx_v_self->finished);
  if (unlikely(__pyx_t_1)) {
/* … */
  }
+276:             raise BuilderNotFinishedError()
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BuilderNotFinishedError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 276, __pyx_L1_error)
 277: 
+278:         cdef bytes res = self.buffer[self.head:self.buffer_length]
  __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_self->buffer) + __pyx_v_self->head, __pyx_v_self->buffer_length - __pyx_v_self->head); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_res = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;
 279: 
+280:         return res
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_res);
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;
 281: 
+282:     @property
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Bytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_5Bytes___get__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

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

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_5Bytes___get__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 283:     def Bytes(self):
+284:         return self.buffer[0:self.buffer_length]
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_self->buffer) + 0, __pyx_v_self->buffer_length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;
 285: 
+286:     def StartObject(self, int numfields):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_6StartObject, "StartObject initializes bookkeeping for writing a new object.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_7StartObject = {"StartObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_6StartObject};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_numfields;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("StartObject (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numfields,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numfields)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 286, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "StartObject") < 0)) __PYX_ERR(0, 286, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_numfields = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_numfields == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 286, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("StartObject", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 286, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_6StartObject(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_numfields);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_6StartObject(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_numfields) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_numfields); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_7StartObject, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_StartObject, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_StartObject, __pyx_t_3) < 0) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_StartObject, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 286, __pyx_L1_error)
 287:         """StartObject initializes bookkeeping for writing a new object."""
 288: 
+289:         self.assertNotNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 289, __pyx_L1_error)
 290: 
+291:         if numfields > 0:
  __pyx_t_1 = (__pyx_v_numfields > 0);
  if (__pyx_t_1) {
/* … */
  }
+292:             self.current_vtable = <Py_ssize_t*>PyMem_Malloc(sizeof(Py_ssize_t) * numfields)
    __pyx_v_self->current_vtable = ((Py_ssize_t *)PyMem_Malloc(((sizeof(Py_ssize_t)) * __pyx_v_numfields)));
+293:             if self.current_vtable is NULL:
    __pyx_t_1 = (__pyx_v_self->current_vtable == NULL);
    if (unlikely(__pyx_t_1)) {
/* … */
    }
+294:                 raise MemoryError()
      PyErr_NoMemory(); __PYX_ERR(0, 294, __pyx_L1_error)
+295:             memset(self.current_vtable, 0, sizeof(Py_ssize_t) * numfields)
    (void)(memset(__pyx_v_self->current_vtable, 0, ((sizeof(Py_ssize_t)) * __pyx_v_numfields)));
+296:         self.current_vtable_length = numfields
  __pyx_v_self->current_vtable_length = __pyx_v_numfields;
+297:         self.objectEnd = self.Offset()
  __pyx_t_2 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 297, __pyx_L1_error)
  __pyx_v_self->objectEnd = __pyx_t_2;
+298:         self.nested = True
  __pyx_v_self->nested = 1;
 299: 
+300:     cdef Py_ssize_t WriteVtable(self):
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_WriteVtable(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  Py_ssize_t __pyx_v_objectOffset;
  Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_off;
  Py_ssize_t __pyx_v_objectSize;
  Py_ssize_t __pyx_v_objectStart;
  Py_ssize_t __pyx_v_vBytes;
  Py_ssize_t __pyx_v_effective_vtable_length;
  Py_ssize_t __pyx_v_vtable_offset;
  struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *__pyx_v_svt;
  Py_ssize_t __pyx_v_norm_vtable_length;
  unsigned char *__pyx_v_norm_vtable;
  Py_ssize_t __pyx_r;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.WriteVtable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}
 301:         """
 302:         WriteVtable serializes the vtable for the current object, if needed.
 303: 
 304:         Before writing out the vtable, this checks pre-existing vtables for
 305:         equality to this one. If an equal vtable is found, point the object to
 306:         the existing vtable and return.
 307: 
 308:         Because vtable values are sensitive to alignment of object data, not
 309:         all logically-equal vtables will be deduplicated.
 310: 
 311:         A vtable has the following format:
 312:           <VOffsetT: size of the vtable in bytes, including this value>
 313:           <VOffsetT: size of the object in bytes, including the vtable offset>
 314:           <VOffsetT: offset for a field> * N, where N is the number of fields
 315:                      in the schema for this type. Includes deprecated fields.
 316:         Thus, a vtable is made of 2 + N elements, each VOffsetT bytes wide.
 317: 
 318:         An object has the following format:
 319:           <SOffsetT: offset to this object's vtable (may be negative)>
 320:           <byte: data>+
 321:         """
 322:         cdef Py_ssize_t objectOffset, i, off, objectSize, objectStart, vBytes
 323:         cdef Py_ssize_t effective_vtable_length, vtable_offset
 324:         cdef StoredVtable* svt
 325: 
 326:         # Prepend a zero scalar to the object. Later in this function we'll
 327:         # write an offset here that points to the object's vtable:
+328:         self.PrependSOffsetTRelative(0)  # 32-bit value.
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSOffsetTRelative(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L1_error)
 329: 
+330:         objectOffset = self.Offset()
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
  __pyx_v_objectOffset = __pyx_t_1;
 331: 
 332:         # Trim trailing 0 offsets.
+333:         effective_vtable_length = 0
  __pyx_v_effective_vtable_length = 0;
+334:         for i in range(self.current_vtable_length, 0, -1):
  for (__pyx_t_1 = __pyx_v_self->current_vtable_length; __pyx_t_1 > 0; __pyx_t_1-=1) {
    __pyx_v_i = __pyx_t_1;
+335:             if self.current_vtable[i-1] != 0:
    __pyx_t_2 = ((__pyx_v_self->current_vtable[(__pyx_v_i - 1)]) != 0);
    if (__pyx_t_2) {
/* … */
    }
  }
  __pyx_L4_break:;
+336:                 effective_vtable_length = i
      __pyx_v_effective_vtable_length = __pyx_v_i;
+337:                 break
      goto __pyx_L4_break;
 338: 
 339:         # Write out the current vtable in reverse, because
 340:         # serialization occurs in last-first order:
+341:         i = effective_vtable_length - 1
  __pyx_v_i = (__pyx_v_effective_vtable_length - 1);
+342:         cdef Py_ssize_t norm_vtable_length = sizeof(uint16_t) * effective_vtable_length
  __pyx_v_norm_vtable_length = ((sizeof(uint16_t)) * __pyx_v_effective_vtable_length);
+343:         norm_vtable = <unsigned char*>PyMem_Malloc(norm_vtable_length)
  __pyx_v_norm_vtable = ((unsigned char *)PyMem_Malloc(__pyx_v_norm_vtable_length));
+344:         while i >= 0:
  while (1) {
    __pyx_t_2 = (__pyx_v_i >= 0);
    if (!__pyx_t_2) break;
+345:             off = 0
    __pyx_v_off = 0;
+346:             if self.current_vtable[i] != 0:
    __pyx_t_2 = ((__pyx_v_self->current_vtable[__pyx_v_i]) != 0);
    if (__pyx_t_2) {
/* … */
    }
 347:                 # Forward reference to field;
 348:                 # use 32bit number to ensure no overflow:
+349:                 off = objectOffset - self.current_vtable[i]
      __pyx_v_off = (__pyx_v_objectOffset - (__pyx_v_self->current_vtable[__pyx_v_i]));
 350: 
+351:             writeUint16(off, norm_vtable, i*2)
    __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_off, __pyx_v_norm_vtable, (__pyx_v_i * 2), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error)
+352:             i -= 1
    __pyx_v_i = (__pyx_v_i - 1);
  }
 353: 
 354:         # Check if this vtable has been seen already.
+355:         svt = self.vtables
  __pyx_t_3 = __pyx_v_self->vtables;
  __pyx_v_svt = __pyx_t_3;
+356:         while svt is not NULL:
  while (1) {
    __pyx_t_2 = (__pyx_v_svt != NULL);
    if (!__pyx_t_2) break;
+357:             if (svt.num_fields == effective_vtable_length and
    __pyx_t_4 = (__pyx_v_svt->num_fields == __pyx_v_effective_vtable_length);
    if (__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L12_bool_binop_done;
    }
/* … */
    if (__pyx_t_2) {
/* … */
    }
+358:                 memcmp(norm_vtable, svt.vtable, norm_vtable_length) == 0):
    __pyx_t_4 = (memcmp(__pyx_v_norm_vtable, __pyx_v_svt->vtable, __pyx_v_norm_vtable_length) == 0);
    __pyx_t_2 = __pyx_t_4;
    __pyx_L12_bool_binop_done:;
+359:                 break
      goto __pyx_L10_break;
+360:             svt = svt.next
    __pyx_t_3 = __pyx_v_svt->next;
    __pyx_v_svt = __pyx_t_3;
  }
  __pyx_L10_break:;
 361: 
+362:         if svt is not NULL:
  __pyx_t_2 = (__pyx_v_svt != NULL);
  if (__pyx_t_2) {
/* … */
  }
+363:             PyMem_Free(self.current_vtable)
    PyMem_Free(__pyx_v_self->current_vtable);
+364:             self.current_vtable = NULL
    __pyx_v_self->current_vtable = NULL;
+365:             self.current_vtable_length = 0
    __pyx_v_self->current_vtable_length = 0;
+366:             PyMem_Free(norm_vtable)
    PyMem_Free(__pyx_v_norm_vtable);
+367:             objectStart = self.buffer_length - objectOffset
    __pyx_v_objectStart = (__pyx_v_self->buffer_length - __pyx_v_objectOffset);
+368:             self.head = objectStart
    __pyx_v_self->head = __pyx_v_objectStart;
 369: 
 370:             # Write the offset to the found vtable in the
 371:             # already-allocated SOffsetT at the beginning of this object.
 372:             # The cached vtable contains its offset from the end of the buffer.
+373:             vtable_offset = svt.offset
    __pyx_t_5 = __pyx_v_svt->offset;
    __pyx_v_vtable_offset = __pyx_t_5;
+374:             writeInt32(vtable_offset - objectOffset, self.buffer, objectStart)
    __pyx_f_7flattrs_8cflattrs_7builder_writeInt32((__pyx_v_vtable_offset - __pyx_v_objectOffset), __pyx_v_self->buffer, __pyx_v_objectStart, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 374, __pyx_L1_error)
+375:             return self.Offset()
    __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 375, __pyx_L1_error)
    __pyx_r = __pyx_t_1;
    goto __pyx_L0;
 376: 
+377:         i = effective_vtable_length - 1
  __pyx_v_i = (__pyx_v_effective_vtable_length - 1);
+378:         while i >= 0:
  while (1) {
    __pyx_t_2 = (__pyx_v_i >= 0);
    if (!__pyx_t_2) break;
+379:             off = 0
    __pyx_v_off = 0;
+380:             if self.current_vtable[i] != 0:
    __pyx_t_2 = ((__pyx_v_self->current_vtable[__pyx_v_i]) != 0);
    if (__pyx_t_2) {
/* … */
    }
 381:                 # Forward reference to field;
 382:                 # use 32bit number to ensure no overflow:
+383:                 off = objectOffset - self.current_vtable[i]
      __pyx_v_off = (__pyx_v_objectOffset - (__pyx_v_self->current_vtable[__pyx_v_i]));
 384: 
+385:             self.PrependVOffsetT(off)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_off); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 385, __pyx_L1_error)
+386:             i -= 1
    __pyx_v_i = (__pyx_v_i - 1);
  }
 387:         # The two metadata fields are written last.
 388: 
 389:         # First, store the object bytesize:
+390:         objectSize = objectOffset - self.objectEnd
  __pyx_v_objectSize = (__pyx_v_objectOffset - __pyx_v_self->objectEnd);
+391:         self.PrependVOffsetT(objectSize)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_objectSize); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 391, __pyx_L1_error)
 392: 
 393:         # Second, store the vtable bytesize:
+394:         vBytes = effective_vtable_length + VtableMetadataFields
  __pyx_v_vBytes = (__pyx_v_effective_vtable_length + __pyx_v_7flattrs_8cflattrs_7builder_VtableMetadataFields);
+395:         vBytes *= Fb_uint16_t.bytewidth
  __pyx_v_vBytes = (__pyx_v_vBytes * __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t.bytewidth);
+396:         self.PrependVOffsetT(vBytes)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_vBytes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error)
 397: 
 398:         # Next, write the offset to the new vtable in the
 399:         # already-allocated SOffsetT at the beginning of this object:
+400:         objectStart = self.buffer_length - objectOffset
  __pyx_v_objectStart = (__pyx_v_self->buffer_length - __pyx_v_objectOffset);
+401:         writeUint32(self.Offset() - objectOffset, self.buffer, objectStart)
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error)
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint32((__pyx_t_1 - __pyx_v_objectOffset), __pyx_v_self->buffer, __pyx_v_objectStart, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error)
 402: 
 403:         # Finally, store this vtable in memory for future
 404:         # deduplication:
+405:         svt = <StoredVtable*>PyMem_Malloc(sizeof(StoredVtable))
  __pyx_v_svt = ((struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *)PyMem_Malloc((sizeof(struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable))));
+406:         svt.num_fields = effective_vtable_length
  __pyx_v_svt->num_fields = __pyx_v_effective_vtable_length;
+407:         svt.vtable = norm_vtable
  __pyx_v_svt->vtable = __pyx_v_norm_vtable;
+408:         svt.next = self.vtables
  __pyx_t_3 = __pyx_v_self->vtables;
  __pyx_v_svt->next = __pyx_t_3;
+409:         svt.offset = self.Offset()
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 409, __pyx_L1_error)
  __pyx_v_svt->offset = __pyx_t_1;
+410:         self.vtables = svt
  __pyx_v_self->vtables = __pyx_v_svt;
 411: 
+412:         PyMem_Free(self.current_vtable)
  PyMem_Free(__pyx_v_self->current_vtable);
+413:         self.current_vtable = NULL
  __pyx_v_self->current_vtable = NULL;
+414:         self.current_vtable_length = 0
  __pyx_v_self->current_vtable_length = 0;
+415:         return objectOffset
  __pyx_r = __pyx_v_objectOffset;
  goto __pyx_L0;
 416: 
+417:     def EndObject(self):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_8EndObject, "EndObject writes data necessary to finish object construction.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_9EndObject = {"EndObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_8EndObject};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("EndObject (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("EndObject", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "EndObject", 0))) return NULL;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_8EndObject(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

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

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_8EndObject(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.EndObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_9EndObject, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_EndObject, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_EndObject, __pyx_t_3) < 0) __PYX_ERR(0, 417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_EndObject, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 417, __pyx_L1_error)
 418:         """EndObject writes data necessary to finish object construction."""
+419:         self.assertNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 419, __pyx_L1_error)
+420:         self.nested = False
  __pyx_v_self->nested = 0;
+421:         return self.WriteVtable()
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->WriteVtable(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 422: 
+423:     cdef void growByteBuffer(self):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_growByteBuffer(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  Py_ssize_t __pyx_v_newSize;
  PyObject *__pyx_v_msg = NULL;
  unsigned char *__pyx_v_buffer_2;
/* … */
  /* 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_AddTraceback("flattrs.cflattrs.builder.Builder.growByteBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
}
 424:         """Doubles the size of the byteslice, and copies the old data towards
 425:            the end of the new buffer (since we build the buffer backwards)."""
 426:         cdef Py_ssize_t newSize
+427:         if self.buffer_length == MAX_BUFFER_SIZE:
  __pyx_t_1 = (__pyx_v_self->buffer_length == __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE);
  if (unlikely(__pyx_t_1)) {
/* … */
  }
+428:             msg = "flatbuffers: cannot grow buffer beyond 2 gigabytes"
    __Pyx_INCREF(__pyx_kp_u_flatbuffers_cannot_grow_buffer_b);
    __pyx_v_msg = __pyx_kp_u_flatbuffers_cannot_grow_buffer_b;
+429:             raise BuilderSizeError(msg)
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BuilderSizeError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_msg};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 429, __pyx_L1_error)
 430: 
+431:         newSize = min(self.buffer_length * 2, MAX_BUFFER_SIZE)
  __pyx_t_5 = __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE;
  __pyx_t_6 = (__pyx_v_self->buffer_length * 2);
  __pyx_t_1 = (__pyx_t_5 < __pyx_t_6);
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_t_5;
  } else {
    __pyx_t_7 = __pyx_t_6;
  }
  __pyx_v_newSize = __pyx_t_7;
+432:         if newSize == 0:
  __pyx_t_1 = (__pyx_v_newSize == 0);
  if (__pyx_t_1) {
/* … */
  }
+433:             newSize = 1
    __pyx_v_newSize = 1;
+434:         buffer_2 = <unsigned char *>PyMem_Malloc(sizeof(unsigned char) * newSize)
  __pyx_v_buffer_2 = ((unsigned char *)PyMem_Malloc(((sizeof(unsigned char)) * __pyx_v_newSize)));
+435:         memset(buffer_2, 0, sizeof(unsigned char) * newSize)
  (void)(memset(__pyx_v_buffer_2, 0, ((sizeof(unsigned char)) * __pyx_v_newSize)));
+436:         memcpy(&buffer_2[newSize-self.buffer_length], self.buffer, self.buffer_length)
  (void)(memcpy((&(__pyx_v_buffer_2[(__pyx_v_newSize - __pyx_v_self->buffer_length)])), __pyx_v_self->buffer, __pyx_v_self->buffer_length));
+437:         self.buffer_length = newSize
  __pyx_v_self->buffer_length = __pyx_v_newSize;
+438:         PyMem_Free(self.buffer)
  PyMem_Free(__pyx_v_self->buffer);
+439:         self.buffer = buffer_2
  __pyx_v_self->buffer = __pyx_v_buffer_2;
 440: 
+441:     cdef Py_ssize_t Offset(self):
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Offset(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  Py_ssize_t __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
 442:         """Offset relative to the end of the buffer."""
+443:         return self.buffer_length - self.head
  __pyx_r = (__pyx_v_self->buffer_length - __pyx_v_self->head);
  goto __pyx_L0;
 444: 
+445:     cdef Pad(self, Py_ssize_t n):
static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_Pad(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_n) {
  CYTHON_UNUSED int __pyx_v_i;
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 446:         """Pad places zeros at the current offset."""
 447:         cdef int i
+448:         for i in range(n):
  __pyx_t_1 = __pyx_v_n;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;
+449:             self.Place(0, &Fb_uint8_t)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, 0, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
  }
 450: 
+451:     cdef void Prep(self, Py_ssize_t size, Py_ssize_t additionalBytes):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Prep(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_size, Py_ssize_t __pyx_v_additionalBytes) {
  long __pyx_v_alignSize;
  long __pyx_v_updated_head;
  long __pyx_v_oldBufSize;
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Prep", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}
 452:         """
 453:         Prep prepares to write an element of `size` after `additional_bytes`
 454:         have been written, e.g. if you write a string, you need to align
 455:         such the int length field is aligned to SizeInt32, and the string
 456:         data follows it directly.
 457:         If all you need to do is align, `additionalBytes` will be 0.
 458:         """
 459:         cdef long alignSize, updated_head, oldBufSize
 460:         # Track the biggest thing we've ever aligned to.
+461:         if size > self.minalign:
  __pyx_t_1 = (__pyx_v_size > __pyx_v_self->minalign);
  if (__pyx_t_1) {
/* … */
  }
+462:             self.minalign = size
    __pyx_v_self->minalign = __pyx_v_size;
 463: 
 464:         # Find the amount of alignment needed such that `size` is properly
 465:         # aligned after `additionalBytes`:
+466:         alignSize = (~(self.buffer_length - self.head + additionalBytes)) + 1
  __pyx_v_alignSize = ((~((__pyx_v_self->buffer_length - __pyx_v_self->head) + __pyx_v_additionalBytes)) + 1);
+467:         alignSize &= (size - 1)
  __pyx_v_alignSize = (__pyx_v_alignSize & (__pyx_v_size - 1));
 468: 
 469:         # Reallocate the buffer if needed:
+470:         while self.head < alignSize+size+additionalBytes:
  while (1) {
    __pyx_t_1 = (__pyx_v_self->head < ((__pyx_v_alignSize + __pyx_v_size) + __pyx_v_additionalBytes));
    if (!__pyx_t_1) break;
+471:             oldBufSize = self.buffer_length
    __pyx_t_2 = __pyx_v_self->buffer_length;
    __pyx_v_oldBufSize = __pyx_t_2;
+472:             self.growByteBuffer()
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->growByteBuffer(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 472, __pyx_L1_error)
+473:             updated_head = self.head + self.buffer_length - oldBufSize
    __pyx_v_updated_head = ((__pyx_v_self->head + __pyx_v_self->buffer_length) - __pyx_v_oldBufSize);
+474:             self.head = updated_head
    __pyx_v_self->head = __pyx_v_updated_head;
  }
+475:         self.Pad(alignSize)
  __pyx_t_3 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Pad(__pyx_v_self, __pyx_v_alignSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 476: 
+477:     cdef void PrependSOffsetTRelative(self, int off):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependSOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_off) {
  PyObject *__pyx_v_msg = NULL;
  Py_ssize_t __pyx_v_off2;
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependSOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
}
 478:         """
 479:         PrependSOffsetTRelative prepends an SOffsetT, relative to where it
 480:         will be written.
 481:         """
 482: 
 483:         # Ensure alignment is already done:
+484:         self.Prep(Fb_int32_t.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 484, __pyx_L1_error)
+485:         if not (off <= self.Offset()):
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 485, __pyx_L1_error)
  __pyx_t_2 = (!(__pyx_v_off <= __pyx_t_1));
  if (unlikely(__pyx_t_2)) {
/* … */
  }
+486:             msg = "flatbuffers: Offset arithmetic error."
    __Pyx_INCREF(__pyx_kp_u_flatbuffers_Offset_arithmetic_er);
    __pyx_v_msg = __pyx_kp_u_flatbuffers_Offset_arithmetic_er;
+487:             raise OffsetArithmeticError(msg)
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_OffsetArithmeticError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __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, 487, __pyx_L1_error)
+488:         off2 = self.Offset() - off + Fb_int32_t.bytewidth
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 488, __pyx_L1_error)
  __pyx_v_off2 = ((__pyx_t_1 - __pyx_v_off) + __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);
+489:         self.PlaceSOffsetT(off2)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceSOffsetT(__pyx_v_self, __pyx_v_off2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L1_error)
 490: 
+491:     cpdef void PrependUOffsetTRelative(self, Py_ssize_t off):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependUOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_off, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_msg = NULL;
  Py_ssize_t __pyx_v_off2;
  /* 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_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PrependUOffsetTRelative); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative)) {
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_off); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __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
        if (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;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 491, __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;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }
/* … */
  /* 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_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative, "Prepends an unsigned offset into vector data, relative to where it\n        will be written.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative = {"PrependUOffsetTRelative", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_off;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUOffsetTRelative (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_off,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_off)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUOffsetTRelative") < 0)) __PYX_ERR(0, 491, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_off = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_off == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelative", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 491, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_off);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_off) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependUOffsetTRelative(__pyx_v_self, __pyx_v_off, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L1_error)
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __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("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_off); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__33);
  __Pyx_GIVEREF(__pyx_tuple__33);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUOffsetTRelative, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUOffsetTRelative, __pyx_t_3) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUOffsetTRelative, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 491, __pyx_L1_error)
 492:         """Prepends an unsigned offset into vector data, relative to where it
 493:         will be written.
 494:         """
 495: 
 496:         # Ensure alignment is already done:
+497:         self.Prep(Fb_uint32_t.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 497, __pyx_L1_error)
+498:         if not (off <= self.Offset()):
  __pyx_t_7 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 498, __pyx_L1_error)
  __pyx_t_8 = (!(__pyx_v_off <= __pyx_t_7));
  if (unlikely(__pyx_t_8)) {
/* … */
  }
+499:             msg = "flatbuffers: Offset arithmetic error."
    __Pyx_INCREF(__pyx_kp_u_flatbuffers_Offset_arithmetic_er);
    __pyx_v_msg = __pyx_kp_u_flatbuffers_Offset_arithmetic_er;
+500:             raise OffsetArithmeticError(msg)
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_OffsetArithmeticError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_msg};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __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(0, 500, __pyx_L1_error)
+501:         off2 = self.Offset() - off + Fb_uint32_t.bytewidth
  __pyx_t_7 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 501, __pyx_L1_error)
  __pyx_v_off2 = ((__pyx_t_7 - __pyx_v_off) + __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth);
+502:         self.PlaceUOffsetT(off2)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceUOffsetT(__pyx_v_self, __pyx_v_off2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 502, __pyx_L1_error)
 503: 
+504:     def StartVector(self, int elemSize, Py_ssize_t numElems, Py_ssize_t alignment):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_12StartVector, "\n        StartVector initializes bookkeeping for writing a new vector.\n\n        A vector has the following format:\n          - <UOffsetT: number of elements in this vector>\n          - <T: data>+, where T is the type of elements of this vector.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_13StartVector = {"StartVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_12StartVector};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_elemSize;
  Py_ssize_t __pyx_v_numElems;
  Py_ssize_t __pyx_v_alignment;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("StartVector (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_elemSize,&__pyx_n_s_numElems,&__pyx_n_s_alignment,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_elemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numElems)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, 1); __PYX_ERR(0, 504, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_alignment)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, 2); __PYX_ERR(0, 504, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "StartVector") < 0)) __PYX_ERR(0, 504, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_elemSize = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_elemSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
    __pyx_v_numElems = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_numElems == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
    __pyx_v_alignment = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_alignment == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 504, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_12StartVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_elemSize, __pyx_v_numElems, __pyx_v_alignment);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_12StartVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_elemSize, Py_ssize_t __pyx_v_numElems, Py_ssize_t __pyx_v_alignment) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__35 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_elemSize, __pyx_n_s_numElems, __pyx_n_s_alignment); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__35);
  __Pyx_GIVEREF(__pyx_tuple__35);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_13StartVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_StartVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_StartVector, __pyx_t_3) < 0) __PYX_ERR(0, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_StartVector, 504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 504, __pyx_L1_error)
 505:         """
 506:         StartVector initializes bookkeeping for writing a new vector.
 507: 
 508:         A vector has the following format:
 509:           - <UOffsetT: number of elements in this vector>
 510:           - <T: data>+, where T is the type of elements of this vector.
 511:         """
 512: 
+513:         self.assertNotNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 513, __pyx_L1_error)
+514:         self.nested = True
  __pyx_v_self->nested = 1;
+515:         self.vectorNumElems = numElems
  __pyx_v_self->vectorNumElems = __pyx_v_numElems;
+516:         self.Prep(Fb_uint32_t.bytewidth, elemSize*numElems)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, (__pyx_v_elemSize * __pyx_v_numElems)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 516, __pyx_L1_error)
+517:         self.Prep(alignment, elemSize*numElems)  # In case alignment > int.
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_alignment, (__pyx_v_elemSize * __pyx_v_numElems)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 517, __pyx_L1_error)
+518:         return self.Offset()
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 518, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 519: 
+520:     cpdef Py_ssize_t EndVector(self):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_EndVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_skip_dispatch) {
  Py_ssize_t __pyx_r;
  /* 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_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_EndVector); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (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;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }
/* … */
  /* 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("flattrs.cflattrs.builder.Builder.EndVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_14EndVector, "EndVector writes data necessary to finish vector construction.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_15EndVector = {"EndVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_14EndVector};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("EndVector (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("EndVector", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "EndVector", 0))) return NULL;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_14EndVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

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

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_14EndVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_EndVector(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.EndVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_15EndVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_EndVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_EndVector, __pyx_t_3) < 0) __PYX_ERR(0, 520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_EndVector, 520, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 520, __pyx_L1_error)
 521:         """EndVector writes data necessary to finish vector construction."""
 522: 
+523:         self.assertNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 523, __pyx_L1_error)
 524:         ## @cond FLATBUFFERS_INTERNAL
+525:         self.nested = False
  __pyx_v_self->nested = 0;
 526:         ## @endcond
 527:         # we already made space for this, so write without PrependUint32
+528:         self.PlaceUOffsetT(self.vectorNumElems)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceUOffsetT(__pyx_v_self, __pyx_v_self->vectorNumElems); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 528, __pyx_L1_error)
+529:         return self.Offset()
  __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 529, __pyx_L1_error)
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;
 530: 
+531:     cpdef Py_ssize_t CreateString(self, str s, encoding='utf-8', errors='strict'):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateString(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch, struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString *__pyx_optional_args) {
  PyObject *__pyx_v_encoding = ((PyObject *)__pyx_kp_u_utf_8);
  PyObject *__pyx_v_errors = ((PyObject *)__pyx_n_u_strict);
  PyObject *__pyx_v_x = 0;
  Py_ssize_t __pyx_v_l;
  char *__pyx_v_c_string;
  Py_ssize_t __pyx_r;
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_encoding = __pyx_optional_args->encoding;
      if (__pyx_optional_args->__pyx_n > 1) {
        __pyx_v_errors = __pyx_optional_args->errors;
      }
    }
  }
  /* 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_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CreateString); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (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;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_s, __pyx_v_encoding, __pyx_v_errors};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }
/* … */
  /* 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("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_16CreateString, "CreateString writes a null-terminated byte string as a vector.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_17CreateString = {"CreateString", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_16CreateString};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_encoding = 0;
  PyObject *__pyx_v_errors = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CreateString (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_encoding,&__pyx_n_s_errors,0};
  PyObject* values[3] = {0,0,0};
    values[1] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)__pyx_kp_u_utf_8));
    values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)__pyx_n_u_strict));
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors);
          if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "CreateString") < 0)) __PYX_ERR(0, 531, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_s = ((PyObject*)values[0]);
    __pyx_v_encoding = values[1];
    __pyx_v_errors = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CreateString", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_s), (&PyUnicode_Type), 1, "s", 1))) __PYX_ERR(0, 531, __pyx_L1_error)
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_16CreateString(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_s, __pyx_v_encoding, __pyx_v_errors);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_16CreateString(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 2;
  __pyx_t_2.encoding = __pyx_v_encoding;
  __pyx_t_2.errors = __pyx_v_errors;
  __pyx_t_1 = __pyx_vtabptr_7flattrs_8cflattrs_7builder_Builder->CreateString(__pyx_v_self, __pyx_v_s, 1, &__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L1_error)
  __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_s, __pyx_n_s_encoding, __pyx_n_s_errors); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__38);
  __Pyx_GIVEREF(__pyx_tuple__38);
  __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_CreateString, 531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 531, __pyx_L1_error)
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_17CreateString, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_CreateString, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__40);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_CreateString, __pyx_t_3) < 0) __PYX_ERR(0, 531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_tuple__40 = PyTuple_Pack(2, __pyx_kp_u_utf_8, __pyx_n_u_strict); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__40);
  __Pyx_GIVEREF(__pyx_tuple__40);
/* … */
struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString {
  int __pyx_n;
  PyObject *encoding;
  PyObject *errors;
};
 532:         """CreateString writes a null-terminated byte string as a vector."""
 533:         cdef bytes x
 534:         cdef Py_ssize_t l
 535: 
+536:         self.assertNotNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 536, __pyx_L1_error)
 537:         ## @cond FLATBUFFERS_INTERNAL
+538:         self.nested = True
  __pyx_v_self->nested = 1;
 539:         ## @endcond
 540: 
+541:         x = s.encode(encoding)
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_s, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (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_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_encoding};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_1))) __PYX_ERR(0, 541, __pyx_L1_error)
  __pyx_v_x = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+542:         l = len(x)
  if (unlikely(__pyx_v_x == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 542, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyBytes_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 542, __pyx_L1_error)
  __pyx_v_l = __pyx_t_6;
 543: 
+544:         self.Prep(Fb_uint32_t.bytewidth, (l+1)*Fb_uint8_t.bytewidth)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, ((__pyx_v_l + 1) * __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t.bytewidth)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 544, __pyx_L1_error)
+545:         self.Place(0, &Fb_uint8_t)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, 0, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L1_error)
 546: 
+547:         self.head = self.head - l
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_l);
 548: 
+549:         cdef char* c_string = x
  if (unlikely(__pyx_v_x == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(0, 549, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 549, __pyx_L1_error)
  __pyx_v_c_string = __pyx_t_7;
 550: 
+551:         memcpy(<void*>&self.buffer[self.head], c_string, l)
  (void)(memcpy(((void *)(&(__pyx_v_self->buffer[__pyx_v_self->head]))), __pyx_v_c_string, __pyx_v_l));
+552:         self.vectorNumElems = l
  __pyx_v_self->vectorNumElems = __pyx_v_l;
 553: 
+554:         return self.EndVector()
  __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->EndVector(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 554, __pyx_L1_error)
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;
 555: 
+556:     cpdef Py_ssize_t CreateByteVector(self, bytes x):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateByteVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x, int __pyx_skip_dispatch) {
  PyObject *__pyx_v_l = 0;
  char *__pyx_v_c_string;
  Py_ssize_t __pyx_r;
  /* 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_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CreateByteVector); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector)) {
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (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;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_x};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }
/* … */
  /* 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("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_l);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector, "CreateString writes a byte vector.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector = {"CreateByteVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("CreateByteVector (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "CreateByteVector") < 0)) __PYX_ERR(0, 556, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = ((PyObject*)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("CreateByteVector", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 556, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyBytes_Type), 1, "x", 1))) __PYX_ERR(0, 556, __pyx_L1_error)
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateByteVector(__pyx_v_self, __pyx_v_x, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__41 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_x); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_CreateByteVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_CreateByteVector, __pyx_t_3) < 0) __PYX_ERR(0, 556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_CreateByteVector, 556, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 556, __pyx_L1_error)
 557:         """CreateString writes a byte vector."""
+558:         self.assertNotNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 558, __pyx_L1_error)
+559:         self.nested = True
  __pyx_v_self->nested = 1;
 560: 
+561:         cdef l = len(x)
  if (unlikely(__pyx_v_x == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 561, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyBytes_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 561, __pyx_L1_error)
  __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = __pyx_t_1;
  __pyx_t_1 = 0;
 562: 
+563:         self.Prep(Fb_uint32_t.bytewidth, l*Fb_uint8_t.bytewidth)
  __pyx_t_1 = __Pyx_PyInt_From_uint8_t(__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t.bytewidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_l, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, __pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 563, __pyx_L1_error)
 564: 
+565:         self.head = self.head - l
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->head); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->head = __pyx_t_6;
 566: 
+567:         cdef char* c_string = x
  if (unlikely(__pyx_v_x == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(0, 567, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L1_error)
  __pyx_v_c_string = __pyx_t_7;
 568: 
+569:         memcpy(<void*>&self.buffer[self.head], c_string, l)
  __pyx_t_8 = __Pyx_PyInt_As_size_t(__pyx_v_l); if (unlikely((__pyx_t_8 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L1_error)
  (void)(memcpy(((void *)(&(__pyx_v_self->buffer[__pyx_v_self->head]))), __pyx_v_c_string, __pyx_t_8));
+570:         self.vectorNumElems = l
  __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_l); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 570, __pyx_L1_error)
  __pyx_v_self->vectorNumElems = __pyx_t_6;
 571: 
+572:         return self.EndVector()
  __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->EndVector(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 572, __pyx_L1_error)
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;
 573: 
+574:     cdef void assertNested(self) except *:
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertNested(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
/* … */
  /* 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_AddTraceback("flattrs.cflattrs.builder.Builder.assertNested", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}
 575:         """
 576:         Check that we are in the process of building an object.
 577:         """
 578: 
+579:         if not self.nested:
  __pyx_t_1 = (!__pyx_v_self->nested);
  if (unlikely(__pyx_t_1)) {
/* … */
  }
+580:             raise IsNotNestedError()
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_IsNotNestedError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 580, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(0, 580, __pyx_L1_error)
 581: 
+582:     cdef void assertNotNested(self) except *:
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertNotNested(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
/* … */
  /* 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_AddTraceback("flattrs.cflattrs.builder.Builder.assertNotNested", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}
 583:         """
 584:         Check that no other objects are being built while making this
 585:         object. If not, raise an exception.
 586:         """
 587: 
+588:         if self.nested:
  if (unlikely(__pyx_v_self->nested)) {
/* … */
  }
+589:             raise IsNestedError()
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IsNestedError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    __pyx_t_4 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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);
        __pyx_t_4 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __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(0, 589, __pyx_L1_error)
 590: 
+591:     cdef void assertStructIsInline(self, Py_ssize_t obj) except *:
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertStructIsInline(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_obj) {
  PyObject *__pyx_v_msg = NULL;
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.assertStructIsInline", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
}
 592:         """
 593:         Structs are always stored inline, so need to be created right
 594:         where they are used. You'll get this error if you created it
 595:         elsewhere.
 596:         """
 597: 
+598:         if obj != self.Offset():
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 598, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_obj != __pyx_t_1);
  if (unlikely(__pyx_t_2)) {
/* … */
  }
+599:             msg = ("flatbuffers: Tried to write a Struct at an Offset that "
    __Pyx_INCREF(__pyx_kp_u_flatbuffers_Tried_to_write_a_Str);
    __pyx_v_msg = __pyx_kp_u_flatbuffers_Tried_to_write_a_Str;
 600:                    "is different from the current Offset of the Builder.")
+601:             raise StructIsNotInlineError(msg)
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_StructIsNotInlineError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (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;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __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, 601, __pyx_L1_error)
 602: 
+603:     cdef void Slot(self, Py_ssize_t slotnum) except *:
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_slotnum) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}
 604:         """
 605:         Slot sets the vtable key `voffset` to the current location in the
 606:         buffer.
 607: 
 608:         """
+609:         self.assertNested()
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 609, __pyx_L1_error)
+610:         if slotnum >= self.current_vtable_length:
  __pyx_t_1 = (__pyx_v_slotnum >= __pyx_v_self->current_vtable_length);
  if (unlikely(__pyx_t_1)) {
/* … */
  }
+611:             raise IndexError()
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_builtin_IndexError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 611, __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, 611, __pyx_L1_error)
+612:         self.current_vtable[slotnum] = self.Offset()
  __pyx_t_3 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L1_error)
  (__pyx_v_self->current_vtable[__pyx_v_slotnum]) = __pyx_t_3;
 613: 
+614:     cdef Py_ssize_t __Finish(self, Py_ssize_t rootTable, bint sizePrefix):
static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder__Builder__Finish(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_rootTable, int __pyx_v_sizePrefix) {
  Py_ssize_t __pyx_v_prepSize;
  Py_ssize_t __pyx_v_size;
  Py_ssize_t __pyx_r;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder._Builder__Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 615:         """Finish finalizes a buffer, pointing to the given `rootTable`."""
 616:         cdef Py_ssize_t prepSize, size
 617: 
+618:         prepSize = Fb_uint32_t.bytewidth
  __pyx_t_1 = __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth;
  __pyx_v_prepSize = __pyx_t_1;
+619:         if sizePrefix:
  if (__pyx_v_sizePrefix) {
/* … */
  }
+620:             prepSize += Fb_int32_t.bytewidth
    __pyx_v_prepSize = (__pyx_v_prepSize + __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);
 621: 
+622:         self.Prep(self.minalign, prepSize)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_self->minalign, __pyx_v_prepSize); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L1_error)
+623:         self.PrependUOffsetTRelative(rootTable)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependUOffsetTRelative(__pyx_v_self, __pyx_v_rootTable, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L1_error)
+624:         if sizePrefix:
  if (__pyx_v_sizePrefix) {
/* … */
  }
+625:             size = self.buffer_length - self.head
    __pyx_v_size = (__pyx_v_self->buffer_length - __pyx_v_self->head);
+626:             self.PrependInt32(size)
    __pyx_t_2 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependInt32(__pyx_v_self, __pyx_v_size, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+627:         self.finished = True
  __pyx_v_self->finished = 1;
+628:         return self.head
  __pyx_r = __pyx_v_self->head;
  goto __pyx_L0;
 629: 
+630:     def Finish(self, int rootTable):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_20Finish, "Finish finalizes a buffer, pointing to the given `rootTable`.");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_21Finish = {"Finish", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_20Finish};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int __pyx_v_rootTable;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("Finish (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rootTable,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rootTable)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "Finish") < 0)) __PYX_ERR(0, 630, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_rootTable = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rootTable == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("Finish", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 630, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_20Finish(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_rootTable);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_20Finish(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_rootTable) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_rootTable); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__43);
  __Pyx_GIVEREF(__pyx_tuple__43);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_21Finish, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_Finish, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_Finish, __pyx_t_3) < 0) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_Finish, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 630, __pyx_L1_error)
 631:         """Finish finalizes a buffer, pointing to the given `rootTable`."""
+632:         return self.__Finish(rootTable, False)
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->_Builder__Finish(__pyx_v_self, __pyx_v_rootTable, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 633: 
+634:     def FinishSizePrefixed(self, Py_ssize_t rootTable):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed, "\n        Finish finalizes a buffer, pointing to the given `rootTable`,\n        with the size prefixed.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed = {"FinishSizePrefixed", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_rootTable;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("FinishSizePrefixed (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rootTable,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rootTable)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "FinishSizePrefixed") < 0)) __PYX_ERR(0, 634, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_rootTable = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_rootTable == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("FinishSizePrefixed", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 634, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.FinishSizePrefixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_rootTable);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_rootTable) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.FinishSizePrefixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_FinishSizePrefixed, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_FinishSizePrefixed, __pyx_t_3) < 0) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_FinishSizePrefixed, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 634, __pyx_L1_error)
 635:         """
 636:         Finish finalizes a buffer, pointing to the given `rootTable`,
 637:         with the size prefixed.
 638:         """
+639:         return self.__Finish(rootTable, True)
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->_Builder__Finish(__pyx_v_self, __pyx_v_rootTable, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 640: 
+641:     cdef void Prepend(self, FlatbufferType* type, int64_t off):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Prepend(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_type, int64_t __pyx_v_off) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Prepend", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
+642:         self.Prep(type.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_type->bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 642, __pyx_L1_error)
+643:         self.Place(off, type)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, __pyx_v_off, __pyx_v_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 643, __pyx_L1_error)
 644: 
+645:     cdef void PrependSlot(self, FlatbufferType* type, Py_ssize_t o, int64_t x, int64_t d):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_type, Py_ssize_t __pyx_v_o, int64_t __pyx_v_x, int64_t __pyx_v_d) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
+646:         if x != d:
  __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
  if (__pyx_t_1) {
/* … */
  }
+647:             self.Prepend(type, x)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, __pyx_v_type, __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 647, __pyx_L1_error)
+648:             self.Slot(o)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 648, __pyx_L1_error)
 649: 
+650:     def PrependBoolSlot(self, Py_ssize_t o, bint x, bint d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot = {"PrependBoolSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int __pyx_v_x;
  int __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependBoolSlot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, 1); __PYX_ERR(0, 650, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, 2); __PYX_ERR(0, 650, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependBoolSlot") < 0)) __PYX_ERR(0, 650, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_d == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 650, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBoolSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_24PrependBoolSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_24PrependBoolSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int __pyx_v_x, int __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBoolSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__46 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_o, __pyx_n_s_x, __pyx_n_s_d); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependBoolSlot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependBoolSlot, __pyx_t_3) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
  __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependBoolSlot, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 650, __pyx_L1_error)
+651:         self.PrependSlot(&Fb_bool_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 651, __pyx_L1_error)
 652: 
+653:     def PrependByteSlot(self, Py_ssize_t o, int x, int d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot = {"PrependByteSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int __pyx_v_x;
  int __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependByteSlot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, 1); __PYX_ERR(0, 653, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, 2); __PYX_ERR(0, 653, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependByteSlot") < 0)) __PYX_ERR(0, 653, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_d == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByteSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_26PrependByteSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_26PrependByteSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int __pyx_v_x, int __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByteSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependByteSlot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependByteSlot, __pyx_t_3) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependByteSlot, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 653, __pyx_L1_error)
+654:         self.PrependSlot(&Fb_uint8_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error)
 655: 
+656:     def PrependUint8Slot(self, Py_ssize_t o, uint8_t x, uint8_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot = {"PrependUint8Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  uint8_t __pyx_v_x;
  uint8_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint8Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, 1); __PYX_ERR(0, 656, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, 2); __PYX_ERR(0, 656, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint8Slot") < 0)) __PYX_ERR(0, 656, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_uint8_t(values[1]); if (unlikely((__pyx_v_x == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_uint8_t(values[2]); if (unlikely((__pyx_v_d == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 656, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_28PrependUint8Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_28PrependUint8Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint8_t __pyx_v_x, uint8_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint8Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint8Slot, __pyx_t_3) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint8Slot, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 656, __pyx_L1_error)
+657:         self.PrependSlot(&Fb_uint8_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 657, __pyx_L1_error)
 658: 
+659:     def PrependUint16Slot(self, Py_ssize_t o, uint16_t x, uint16_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot = {"PrependUint16Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  uint16_t __pyx_v_x;
  uint16_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint16Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, 1); __PYX_ERR(0, 659, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, 2); __PYX_ERR(0, 659, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint16Slot") < 0)) __PYX_ERR(0, 659, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_uint16_t(values[1]); if (unlikely((__pyx_v_x == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_uint16_t(values[2]); if (unlikely((__pyx_v_d == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_30PrependUint16Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_30PrependUint16Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint16_t __pyx_v_x, uint16_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint16Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint16Slot, __pyx_t_3) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint16Slot, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 659, __pyx_L1_error)
+660:         self.PrependSlot(&Fb_uint16_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 660, __pyx_L1_error)
 661: 
+662:     def PrependUint32Slot(self, Py_ssize_t o, uint32_t x, uint32_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot = {"PrependUint32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  uint32_t __pyx_v_x;
  uint32_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint32Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, 1); __PYX_ERR(0, 662, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, 2); __PYX_ERR(0, 662, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint32Slot") < 0)) __PYX_ERR(0, 662, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_uint32_t(values[1]); if (unlikely((__pyx_v_x == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_uint32_t(values[2]); if (unlikely((__pyx_v_d == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 662, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_32PrependUint32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_32PrependUint32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint32_t __pyx_v_x, uint32_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint32Slot, 662, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 662, __pyx_L1_error)
+663:         self.PrependSlot(&Fb_uint32_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L1_error)
 664: 
+665:     def PrependUint64Slot(self, Py_ssize_t o, uint64_t x, uint64_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot = {"PrependUint64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  uint64_t __pyx_v_x;
  uint64_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint64Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, 1); __PYX_ERR(0, 665, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, 2); __PYX_ERR(0, 665, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint64Slot") < 0)) __PYX_ERR(0, 665, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_x == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_d == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 665, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_34PrependUint64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_34PrependUint64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint64_t __pyx_v_x, uint64_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint64Slot, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 665, __pyx_L1_error)
+666:         self.PrependSlot(&Fb_uint64_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 666, __pyx_L1_error)
 667: 
+668:     def PrependInt8Slot(self, Py_ssize_t o, int8_t x, int8_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot = {"PrependInt8Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int8_t __pyx_v_x;
  int8_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt8Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, 1); __PYX_ERR(0, 668, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, 2); __PYX_ERR(0, 668, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt8Slot") < 0)) __PYX_ERR(0, 668, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_int8_t(values[1]); if (unlikely((__pyx_v_x == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_int8_t(values[2]); if (unlikely((__pyx_v_d == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 668, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_36PrependInt8Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_36PrependInt8Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int8_t __pyx_v_x, int8_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt8Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt8Slot, __pyx_t_3) < 0) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt8Slot, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 668, __pyx_L1_error)
+669:         self.PrependSlot(&Fb_int8_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 669, __pyx_L1_error)
 670: 
+671:     def PrependInt16Slot(self, Py_ssize_t o, int16_t x, int16_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot = {"PrependInt16Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int16_t __pyx_v_x;
  int16_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt16Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, 1); __PYX_ERR(0, 671, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, 2); __PYX_ERR(0, 671, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt16Slot") < 0)) __PYX_ERR(0, 671, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_int16_t(values[1]); if (unlikely((__pyx_v_x == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_int16_t(values[2]); if (unlikely((__pyx_v_d == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 671, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_38PrependInt16Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_38PrependInt16Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int16_t __pyx_v_x, int16_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt16Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt16Slot, __pyx_t_3) < 0) __PYX_ERR(0, 671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt16Slot, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 671, __pyx_L1_error)
+672:         self.PrependSlot(&Fb_int16_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 672, __pyx_L1_error)
 673: 
+674:     def PrependInt32Slot(self, Py_ssize_t o, int32_t x, int32_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot = {"PrependInt32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int32_t __pyx_v_x;
  int32_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt32Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, 1); __PYX_ERR(0, 674, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, 2); __PYX_ERR(0, 674, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt32Slot") < 0)) __PYX_ERR(0, 674, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_int32_t(values[1]); if (unlikely((__pyx_v_x == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_int32_t(values[2]); if (unlikely((__pyx_v_d == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_40PrependInt32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_40PrependInt32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int32_t __pyx_v_x, int32_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt32Slot, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 674, __pyx_L1_error)
+675:         self.PrependSlot(&Fb_int32_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 675, __pyx_L1_error)
 676: 
+677:     def PrependInt64Slot(self, Py_ssize_t o, int64_t x, int64_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot = {"PrependInt64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  int64_t __pyx_v_x;
  int64_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt64Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, 1); __PYX_ERR(0, 677, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, 2); __PYX_ERR(0, 677, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt64Slot") < 0)) __PYX_ERR(0, 677, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyInt_As_int64_t(values[1]); if (unlikely((__pyx_v_x == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_int64_t(values[2]); if (unlikely((__pyx_v_d == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 677, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_42PrependInt64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_42PrependInt64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int64_t __pyx_v_x, int64_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt64Slot, 677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 677, __pyx_L1_error)
+678:         self.PrependSlot(&Fb_int64_t, o, x, d)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L1_error)
 679: 
+680:     def PrependFloat32Slot(self, Py_ssize_t o, float x, float d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot = {"PrependFloat32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  float __pyx_v_x;
  float __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependFloat32Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, 1); __PYX_ERR(0, 680, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, 2); __PYX_ERR(0, 680, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat32Slot") < 0)) __PYX_ERR(0, 680, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
    __pyx_v_d = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_d == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 680, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_44PrependFloat32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_44PrependFloat32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, float __pyx_v_x, float __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat32Slot, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 680, __pyx_L1_error)
+681:         if x != d:
  __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
  if (__pyx_t_1) {
/* … */
  }
+682:             self.Prep(Fb_float32_t.bytewidth, 0)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 682, __pyx_L1_error)
+683:             self.head = self.head - Fb_float32_t.bytewidth
    __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth);
+684:             writeFloat32(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 684, __pyx_L1_error)
+685:             self.Slot(o)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 685, __pyx_L1_error)
 686: 
+687:     def PrependFloat64Slot(self, Py_ssize_t o, double x, double d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot = {"PrependFloat64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  double __pyx_v_x;
  double __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependFloat64Slot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, 1); __PYX_ERR(0, 687, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, 2); __PYX_ERR(0, 687, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat64Slot") < 0)) __PYX_ERR(0, 687, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
    __pyx_v_d = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_d == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 687, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_46PrependFloat64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_46PrependFloat64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, double __pyx_v_x, double __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat64Slot, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 687, __pyx_L1_error)
+688:         if x != d:
  __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
  if (__pyx_t_1) {
/* … */
  }
+689:             self.Prep(Fb_float64_t.bytewidth, 0)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 689, __pyx_L1_error)
+690:             self.head = self.head - Fb_float64_t.bytewidth
    __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth);
+691:             writeFloat64(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 691, __pyx_L1_error)
+692:             self.Slot(o)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 692, __pyx_L1_error)
 693: 
+694:     def PrependUOffsetTRelativeSlot(self, Py_ssize_t o, Py_ssize_t x, Py_ssize_t d):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot, "\n        PrependUOffsetTRelativeSlot prepends an UOffsetT onto the object at\n        vtable slot `o`. If value `x` equals default `d`, then the slot will\n        be set to zero and no other data will be written.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot = {"PrependUOffsetTRelativeSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  Py_ssize_t __pyx_v_o;
  Py_ssize_t __pyx_v_x;
  Py_ssize_t __pyx_v_d;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUOffsetTRelativeSlot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
  PyObject* values[3] = {0,0,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, 1); __PYX_ERR(0, 694, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, 2); __PYX_ERR(0, 694, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUOffsetTRelativeSlot") < 0)) __PYX_ERR(0, 694, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
    __pyx_v_x = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_x == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_d == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelativeSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, Py_ssize_t __pyx_v_x, Py_ssize_t __pyx_v_d) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelativeSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUOffsetTRelativeS, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUOffsetTRelativeSlot, __pyx_t_3) < 0) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUOffsetTRelativeSlot, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 694, __pyx_L1_error)
 695:         """
 696:         PrependUOffsetTRelativeSlot prepends an UOffsetT onto the object at
 697:         vtable slot `o`. If value `x` equals default `d`, then the slot will
 698:         be set to zero and no other data will be written.
 699:         """
+700:         if x != d:
  __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
  if (__pyx_t_1) {
/* … */
  }
+701:             self.PrependUOffsetTRelative(x)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependUOffsetTRelative(__pyx_v_self, __pyx_v_x, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 701, __pyx_L1_error)
+702:             self.Slot(o)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 702, __pyx_L1_error)
 703: 
+704:     cdef PrependStructSlot(self, v, x, d):
static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependStructSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_v, PyObject *__pyx_v_x, PyObject *__pyx_v_d) {
  PyObject *__pyx_r = 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("flattrs.cflattrs.builder.Builder.PrependStructSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 705:         """
 706:         PrependStructSlot prepends a struct onto the object at vtable slot `o`.
 707:         Structs are stored inline, so nothing additional is being added.
 708:         In generated code, `d` is always 0.
 709:         """
+710:         if x != d:
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_d, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 710, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
  }
+711:             self.assertStructIsInline(x)
    __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_v_x); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 711, __pyx_L1_error)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertStructIsInline(__pyx_v_self, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 711, __pyx_L1_error)
+712:             self.Slot(v)
    __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_v_v); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L1_error)
    ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L1_error)
 713: 
+714:     def PrependBool(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_50PrependBool, "Prepend a `bool` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_51PrependBool = {"PrependBool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_50PrependBool};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependBool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 714, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependBool") < 0)) __PYX_ERR(0, 714, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependBool", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 714, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_50PrependBool(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_50PrependBool(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_51PrependBool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependBool, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependBool, __pyx_t_3) < 0) __PYX_ERR(0, 714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependBool, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 714, __pyx_L1_error)
 715:         """Prepend a `bool` to the Builder buffer.
 716: 
 717:         Note: aligns and checks for space.
 718:         """
+719:         self.Prepend(&Fb_bool_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error)
 720: 
+721:     def PrependByte(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_52PrependByte, "Prepend a `byte` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_53PrependByte = {"PrependByte", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_52PrependByte};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependByte (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependByte") < 0)) __PYX_ERR(0, 721, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependByte", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByte", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_52PrependByte(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_52PrependByte(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByte", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_53PrependByte, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependByte, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependByte, __pyx_t_3) < 0) __PYX_ERR(0, 721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependByte, 721, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 721, __pyx_L1_error)
 722:         """Prepend a `byte` to the Builder buffer.
 723: 
 724:         Note: aligns and checks for space.
 725:         """
+726:         self.Prepend(&Fb_uint8_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)
 727: 
+728:     def PrependUint8(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8, "Prepend an `uint8` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8 = {"PrependUint8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 728, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint8") < 0)) __PYX_ERR(0, 728, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint8", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 728, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint8, __pyx_t_3) < 0) __PYX_ERR(0, 728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint8, 728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 728, __pyx_L1_error)
 729:         """Prepend an `uint8` to the Builder buffer.
 730: 
 731:         Note: aligns and checks for space.
 732:         """
+733:         self.Prepend(&Fb_uint8_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 733, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 733, __pyx_L1_error)
 734: 
+735:     def PrependUint16(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16, "Prepend an `uint16` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16 = {"PrependUint16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 735, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint16") < 0)) __PYX_ERR(0, 735, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint16", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 735, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint16, __pyx_t_3) < 0) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint16, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 735, __pyx_L1_error)
 736:         """Prepend an `uint16` to the Builder buffer.
 737: 
 738:         Note: aligns and checks for space.
 739:         """
+740:         self.Prepend(&Fb_uint16_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)
 741: 
+742:     def PrependUint32(self, uint32_t x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32, "Prepend an `uint32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32 = {"PrependUint32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  uint32_t __pyx_v_x;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 742, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint32") < 0)) __PYX_ERR(0, 742, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_x == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 742, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 742, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint32_t __pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint32, __pyx_t_3) < 0) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint32, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 742, __pyx_L1_error)
 743:         """Prepend an `uint32` to the Builder buffer.
 744: 
 745:         Note: aligns and checks for space.
 746:         """
+747:         self.Prepend(&Fb_uint32_t, x)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 747, __pyx_L1_error)
 748: 
+749:     def PrependUint64(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64, "Prepend an `uint64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64 = {"PrependUint64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependUint64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint64") < 0)) __PYX_ERR(0, 749, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependUint64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 749, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint64, __pyx_t_3) < 0) __PYX_ERR(0, 749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint64, 749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 749, __pyx_L1_error)
 750:         """Prepend an `uint64` to the Builder buffer.
 751: 
 752:         Note: aligns and checks for space.
 753:         """
+754:         self.Prep(Fb_uint64_t.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 754, __pyx_L1_error)
+755:         self.Place(x, &Fb_uint64_t)
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 755, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, __pyx_t_1, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 755, __pyx_L1_error)
 756: 
+757:     def PrependInt8(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8, "Prepend an `int8` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8 = {"PrependInt8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt8 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 757, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt8") < 0)) __PYX_ERR(0, 757, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt8", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 757, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt8, __pyx_t_3) < 0) __PYX_ERR(0, 757, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt8, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 757, __pyx_L1_error)
 758:         """Prepend an `int8` to the Builder buffer.
 759: 
 760:         Note: aligns and checks for space.
 761:         """
+762:         self.Prepend(&Fb_int8_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L1_error)
 763: 
+764:     def PrependInt16(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16, "Prepend an `int16` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16 = {"PrependInt16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 764, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt16") < 0)) __PYX_ERR(0, 764, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt16", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 764, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt16, __pyx_t_3) < 0) __PYX_ERR(0, 764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt16, 764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 764, __pyx_L1_error)
 765:         """Prepend an `int16` to the Builder buffer.
 766: 
 767:         Note: aligns and checks for space.
 768:         """
+769:         self.Prepend(&Fb_int16_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 769, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 769, __pyx_L1_error)
 770: 
+771:     cpdef PrependInt32(self, int32_t x):
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependInt32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x, int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  /* 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_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PrependInt32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32)) {
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_3 = __Pyx_PyInt_From_int32_t(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __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
        if (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;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __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;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }
/* … */
  /* 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("flattrs.cflattrs.builder.Builder.PrependInt32", __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_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32, "Prepend an `int32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32 = {"PrependInt32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  int32_t __pyx_v_x;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt32") < 0)) __PYX_ERR(0, 771, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = __Pyx_PyInt_As_int32_t(values[0]); if (unlikely((__pyx_v_x == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 771, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependInt32(__pyx_v_self, __pyx_v_x, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __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("flattrs.cflattrs.builder.Builder.PrependInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt32, __pyx_t_3) < 0) __PYX_ERR(0, 771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt32, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 771, __pyx_L1_error)
 772:         """Prepend an `int32` to the Builder buffer.
 773: 
 774:         Note: aligns and checks for space.
 775:         """
+776:         self.Prepend(&Fb_int32_t, x)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 776, __pyx_L1_error)
 777: 
+778:     def PrependInt64(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64, "Prepend an `int64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64 = {"PrependInt64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependInt64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 778, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt64") < 0)) __PYX_ERR(0, 778, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependInt64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 778, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt64, __pyx_t_3) < 0) __PYX_ERR(0, 778, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt64, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 778, __pyx_L1_error)
 779:         """Prepend an `int64` to the Builder buffer.
 780: 
 781:         Note: aligns and checks for space.
 782:         """
+783:         self.Prepend(&Fb_int64_t, x)
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 783, __pyx_L1_error)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 783, __pyx_L1_error)
 784: 
+785:     def PrependFloat32(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32, "Prepend a `float32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32 = {"PrependFloat32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependFloat32 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 785, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat32") < 0)) __PYX_ERR(0, 785, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependFloat32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat32, __pyx_t_3) < 0) __PYX_ERR(0, 785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat32, 785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 785, __pyx_L1_error)
 786:         """Prepend a `float32` to the Builder buffer.
 787: 
 788:         Note: aligns and checks for space.
 789:         """
+790:         self.Prep(Fb_float32_t.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 790, __pyx_L1_error)
+791:         self.head = self.head - Fb_float32_t.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth);
+792:         writeFloat32(x, self.buffer, self.head)
  __pyx_t_1 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_1 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L1_error)
  __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_t_1, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L1_error)
 793: 
+794:     def PrependFloat64(self, x):
/* Python wrapper */
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64, "Prepend a `float64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64 = {"PrependFloat64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64};
static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PrependFloat64 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
  PyObject* values[1] = {0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 794, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat64") < 0)) __PYX_ERR(0, 794, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PrependFloat64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 794, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat64, __pyx_t_3) < 0) __PYX_ERR(0, 794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
/* … */
  __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat64, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 794, __pyx_L1_error)
 795:         """Prepend a `float64` to the Builder buffer.
 796: 
 797:         Note: aligns and checks for space.
 798:         """
+799:         self.Prep(Fb_float64_t.bytewidth, 0)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error)
+800:         self.head = self.head - Fb_float64_t.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth);
+801:         writeFloat64(x, self.buffer, self.head)
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_x); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error)
  __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_t_1, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error)
 802: 
+803:     cdef void PrependVOffsetT(self, uint16_t x):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependVOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint16_t __pyx_v_x) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependVOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
+804:         self.Prepend(&Fb_uint16_t, x)
  ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 804, __pyx_L1_error)
 805: 
+806:     cdef void Place(self, uint64_t x, FlatbufferType *fb_type):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Place(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint64_t __pyx_v_x, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_fb_type) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Place", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
 807:         """
 808:         Place prepends a value specified by `flags` to the Builder,
 809:         without checking for available space.
 810:         """
+811:         self.head = self.head - fb_type.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_fb_type->bytewidth);
 812:         #Write(flags.packer_type, self.Bytes, self.head, x)
 813: 
+814:         if fb_type == &Fb_bool_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+815:             writeBool(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeBool(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L1_error)
+816:         elif fb_type == &Fb_uint8_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+817:             writeUint8(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 817, __pyx_L1_error)
+818:         elif fb_type == &Fb_uint16_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+819:             writeUint16(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 819, __pyx_L1_error)
+820:         elif fb_type == &Fb_uint32_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+821:             writeUint32(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L1_error)
+822:         elif fb_type == &Fb_uint64_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+823:             writeUint64(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 823, __pyx_L1_error)
+824:         elif fb_type == &Fb_int8_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+825:             writeInt8(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 825, __pyx_L1_error)
+826:         elif fb_type == &Fb_int16_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+827:             writeInt16(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 827, __pyx_L1_error)
+828:         elif fb_type == &Fb_int32_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t));
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+829:             writeInt32(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 829, __pyx_L1_error)
+830:         elif fb_type == &Fb_int64_t:
  __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t));
  if (__pyx_t_1) {
/* … */
  }
  __pyx_L3:;
+831:             writeInt64(x, self.buffer, self.head)
    __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 831, __pyx_L1_error)
 832: 
+833:     cdef void PlaceVOffsetT(self, uint16_t x):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceVOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint16_t __pyx_v_x) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceVOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
 834:         """PlaceVOffsetT prepends a VOffsetT to the Builder, without checking
 835:         for space.
 836:         """
+837:         self.head = self.head - Fb_uint16_t.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t.bytewidth);
+838:         writeUint16(x, self.buffer, self.head)
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 838, __pyx_L1_error)
 839: 
+840:     cdef void PlaceSOffsetT(self, int32_t x):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceSOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceSOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
 841:         """PlaceSOffsetT prepends a SOffsetT to the Builder, without checking
 842:         for space.
 843:         """
+844:         self.head = self.head - Fb_int32_t.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);
 845:         #Write(soffset, self.Bytes, self.head, x)
+846:         writeInt32(x, self.buffer, self.head)
  __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 846, __pyx_L1_error)
 847: 
+848:     cdef void PlaceUOffsetT(self, uint32_t x):
static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceUOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint32_t __pyx_v_x) {
/* … */
  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceUOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}
 849:         """PlaceUOffsetT prepends a UOffsetT to the Builder, without checking
 850:         for space.
 851:         """
+852:         self.head = self.head - Fb_uint32_t.bytewidth
  __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth);
 853:         #Write(uoffset, self.Bytes, self.head, x)
+854:         writeUint32(x, self.buffer, self.head)
  __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 854, __pyx_L1_error)